Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel elequent中保存嵌套关系?_Php_Mysql_Laravel - Fatal编程技术网

Php 在laravel elequent中保存嵌套关系?

Php 在laravel elequent中保存嵌套关系?,php,mysql,laravel,Php,Mysql,Laravel,我有两张桌子和三个关系 一是奖励表, 奖励标准 这里是标准表自连接 在数据库中保存奖励时 现在我储蓄如下: $award->save(); foreach ($request->criterias as $key => $row) { $criteria = new AwardCriteria(); $criteria->title = $row['title']; $criteria->m

我有两张桌子和三个关系

一是奖励表,

奖励标准

这里是标准表自连接

在数据库中保存奖励时

现在我储蓄如下:

$award->save();
foreach ($request->criterias as $key => $row) {
            $criteria = new AwardCriteria();
            $criteria->title = $row['title'];
            $criteria->mark = $row['mark'];
            $criteria->save();
            foreach ($row['sub_criterias'] as $row2) {
                $subCrt = new AwardCriteria();
                $subCriteria->award_id = $award->id;
                $subCriteria->award_criteria_id = $criteria->id;
                $subCrt->title = $row2['title'];
                $subCrt->mark = $row2['mark'];
                $subCrt->save();
            }
        }
我也可以这样做

  $award->save();
  $award->criteria()->saveMany($criteria);

但在这里如何才能拯救亚临界区?你能请任何人提出好的方法吗?

你实际上可以监听模型上的保存事件并触发一个动作。这有一些很好的例子