Как проверить, существует ли связь между двумя таблицами?
Как проверить, существует ли связь между двумя таблицами?
Как проверить, существует ли связь между двумя таблицами объединенными через промежуточную таблицу?
Re: Как проверить, существует ли связь между двумя таблицами?
Что Вы подразумеваете под "существует"? Если Вы определили метод связи в модели, то она "существует".
Re: Как проверить, существует ли связь между двумя таблицами?
Сделать запрос в базу.
Re: Как проверить, существует ли связь между двумя таблицами?
похоже что вы издеваетесь )
берем из вашей соседней темы кусок кода:
если это старая запись то перед линком кто мешает сделать
значит надо удалить ее перед новым линком ... ну или чтото сделать что у вас положено по логике ...
ну или вообще сделайте
берем из вашей соседней темы кусок кода:
если $order это новая запись значит связи точно нет ...Код: Выделить всё
$order->save(); $order->link('customer', $customer);
если это старая запись то перед линком кто мешает сделать
Код: Выделить всё
if ($order->customer) // связь уже есть ...
ну или вообще сделайте
Код: Выделить всё
CustomerModel::find()->where(['order_id'=>$order_id, 'id'=>$customer_id])->one()
Re: Как проверить, существует ли связь между двумя таблицами?
Это форум посвящен Yii framework, а не для тех, кто хочет поиздеваться )))
извини за издевательство ))
спасибо, это оптимально решение, т.к. запись может дублироваться и связь уже естьcaHek2x писал(а): ↑2017.12.14, 15:04 ну или вообще сделайтеКод: Выделить всё
CustomerModel::find()->where(['order_id'=>$order_id, 'id'=>$customer_id])->one()
извини за издевательство ))
Re: Как проверить, существует ли связь между двумя таблицами?
да не надо извиняться просто иногда вопросы очень "интересные"
но мне кажется лучше проверять через связь а не отдельным запросом
но мне кажется лучше проверять через связь а не отдельным запросом
Re: Как проверить, существует ли связь между двумя таблицами?
не всегда все понятно ))
а как через связь ты это имеешь ввиду?
если это, то это еще кручеif ($order->customer) // связь уже есть ...
Re: Как проверить, существует ли связь между двумя таблицами?
ну да это и имею ввиду ... у вас же есть связь она за вас сделает запрос ...
Re: Как проверить, существует ли связь между двумя таблицами?
Код: Выделить всё
table1model::find()->joinWith('table2', false, 'join')
Re: Как проверить, существует ли связь между двумя таблицами?
т.е. промежуточная таблица не участвует в запросе?caHek2x писал(а): ↑2017.12.14, 17:57или я не правильно понял ваш вопросКод: Выделить всё
table1model::find()->joinWith('table2', false, 'join')
Re: Как проверить, существует ли связь между двумя таблицами?
всмысле ? к какому id .. ? у вас связь же привязана к модели по id ... или по какому полю ?
Re: Как проверить, существует ли связь между двумя таблицами?
значит вы чтото неверно делаете ...
Re: Как проверить, существует ли связь между двумя таблицами?
вот так if ($order->customer), может скажете более развернуто, как верно?
но если это делает запрос и table1model::find()->joinWith('table2', false, 'join') делает запрос, то в чем разница?
но если это делает запрос и table1model::find()->joinWith('table2', false, 'join') делает запрос, то в чем разница?