用一行更新关系模型 - Laravel

Update a Relationship Model with one Line - Laravel

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

主要模型

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

它的关系是"detail"和"profile"

示例:

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

如果您是通过关系更新,应该是

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

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