"Классический" вариант сохранения двух объектов $customer = Customer::findOne(123); $order = new Order(); $order->subtotal = 100; // ... // установка атрибута, которой задаёт связь "customer" в объекте Order $order->customer_id = $customer->id; $order->save(); Вариант сохранения через метод link() $customer = Customer::findOne(123); $order = new Order(); $order->subtotal = 100; // ... $order->link('customer', $customer); Метод link() хорош тем, что сохраняет даже те связи, которые сделаны через промежуточную таблицу связей! (т.е. он сам добавляет связь!) Существует противоположная операция для link() - это операция unlink(). Она снимает существующую связь с двух объектов Active Record $customer = Customer::find()->with('orders')->where(['id' => 123])->one(); $customer->unlink('orders', $customer->orders[0]);
Yii Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor