使用一行更新关系模型 - Laravel

时间:2017-12-13 19:43:38

标签: php laravel laravel-5 laravel-4

我有一个庞大的编辑页面,值来自4个表格。我将它们全部放在一个对象中,并将哪些放在哪里。虽然当我调用我的主模型时,我可以通过传入对象或数组来更新它的关系吗?

主要模式

$officiant = Officiant::find($id);

它的关系是"细节"和"个人资料"

示例:

    $officiant->fname = $request->fname;
    $officiant->lname = $request->lname;
    $officiant->phone = $request->phone;


    $profile = new \StdClass();
    $profile->gender = $request->gender;
    $profile->profile = $request->profile;



    $detail = new \StdClass();
    $detail->street = $request->street;
    $detail->city = $request->city;

我可以通过像这样传递来更新主持人

$officiant->update(array ($officiant));

虽然,我可以通过做类似的事情来更新细节,例如

$officiant->detail->update(array ($detail));
$officiant->profileupdate(array ($profile));

1 个答案:

答案 0 :(得分:0)

如果您通过关系发货更新,则应

$officiant->detail()->update(array ($detail));

使用 - > detail()而不是 - > detail会发送一个可以与update()链接的查询构建器实例。