使用Laravel中同一表中另一行的数据更新行

时间:2017-11-29 11:27:29

标签: php laravel laravel-5

我正在尝试在我的数据库中更新另一行。我找不到办法做到这一点。

我有父线和子线。我想用CHILD活动(草稿)更新PARENT活动。

在我的控制器中:

     1. Image url
     2. base64 format
你能帮帮我吗?非常感谢你!

1 个答案:

答案 0 :(得分:0)

最简单的方法是在Activity模型上使用update方法,并将新数据作为参数传递给它。

例如:

$parent_activity->update([
  'someProperty' => $activity->someProperty,
  ...
]);

不要忘记通过向您的$fillable模型添加受保护的属性Activity来启用mass assignment

要将所有数据复制到$parent_activity,您可以执行以下操作:

$someData = $activity->toArray();

$parent_activity->update($someData);

请注意,您只更新所需的属性,而不是说parent_id。您可以使用array_except()帮助程序来阻止这种情况。

$someData = array_except($activity->toArray(), ['parent_id']);

$parent_activity->update($someData);