5 php laravel eloquent laravel-5
我将关系添加到模型中.结构如下:
一个
Structure模型hasManyManagers.每ManagerhasManyEmployees
所以我使用以下代码完成了这项工作:
$structure->name = "Something";
$manager1 = new Manager;
$manager2 = new Manager;
$manager1->name = "Man One";
$manager2->name = "Man Two";
$emp1 = new Employee;
$emp2 = new Employee;
$emp3 = new Employee;
$emp1->name....
...
....
$manager1->add($emp1);
$manager1->add($emp2);
$manager2->add($emp3);
$structure->add($manager1);
$structure->add($manager2);
.... //Some calculations & necessary processing to fill up other properties of $structure.
///Now I have to save $structure..
$structure->push()
Run Code Online (Sandbox Code Playgroud)
但是由于显而易见的原因,它返回$manager需要外键值(structure_id)的错误.$structure->managers()->save()确实有帮助,但保存所有的关系和他们的关系是麻烦的.
因此,我需要知道一次保存整个结构模型的方法.
小智 1
您可以使用 saveMany (您必须传递 Manager 对象的数组):
$structure->managers()->saveMany(array($managers));
Run Code Online (Sandbox Code Playgroud)
或者(您必须传递一个数组数组,其中的对象数据在 Manager 模型的 $fillable 数组中声明):
$structure->managers()->createMany(array($managersData));
$structure->save();
Run Code Online (Sandbox Code Playgroud)