gpt4 book ai didi

php - Laravel 保存 Eloquent 和关系

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:49:28 25 4
gpt4 key购买 nike

我向模型添加了关系。结构如下:

A Structure Model hasMany Managers. Each Manager hasMany Employees

所以我使用以下代码完成了此操作:

$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()

但它返回一个错误,$manager 需要外键值 (structure_id),原因很明显。 $structure->managers()->save() 确实有帮助,但保存所有关系及其关系很麻烦。

因此我需要知道一次保存整个结构模型的方法。

最佳答案

您可以使用 saveMany(您必须传递一个 Manager 对象数组):

$structure->managers()->saveMany(array($managers));

或者(您必须传递一个数组,其中包含在 Manager 模型的 $fillable 数组中声明的对象数据):

$structure->managers()->createMany(array($managersData));
$structure->save();

关于php - Laravel 保存 Eloquent 和关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38486426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com