Как удостовериться, что связь создана, как это правильно организовать?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

Как удостовериться, что связь создана, как это правильно организовать?

Сообщение user »

В документации написано:

Код: Выделить всё

$customer = Customer::findOne(123);
$order = new Order();
/// ....
$order->save();
$order->link('customer', $customer);

$order->save(); проверить, что отработало не трyдно, достаточно обернуть в if
а вот как удостовериться, что $order->link('customer', $customer); отработало?
И как сделать, чтобы эти два запроса отрабатывали, а не какой-то один из них?
Транзакция?
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Как удостовериться, что связь создана, как это правильно организовать?

Сообщение futbolim »

Код: Выделить всё

if($order->save()) {
    link(...)
}
Или Вы сомневаетесь в работоспособности ActiveRecord::link()? :)
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

Re: Как удостовериться, что связь создана, как это правильно организовать?

Сообщение user »

futbolim писал(а): 2017.12.14, 05:48

Код: Выделить всё

if($order->save()) {
    link(...)
}
Или Вы сомневаетесь в работоспособности ActiveRecord::link()? :)
а почему я должен доверять
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Как удостовериться, что связь создана, как это правильно организовать?

Сообщение caHek2x »

если в линке чтото пойдет не так вы получите исключение .... вот ловите его ...
кстати и в save может пойти чтото не так и тоже можно получить исключение :-)
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

Re: Как удостовериться, что связь создана, как это правильно организовать?

Сообщение user »

caHek2x писал(а): 2017.12.14, 12:50 если в линке чтото пойдет не так вы получите исключение .... вот ловите его ...
кстати и в save может пойти чтото не так и тоже можно получить исключение :-)
спасибо, уже разобрался, тогда вот такой вопрос, а если такая связь уже существует как понять и не дублировать?
Ответить