gpt4 book ai didi

php - Laravel 5 - 更新模型不会立即更新关系

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

今天我在尝试使用简单的 hasOne 关系更新模型时遇到了一个有趣的问题。我正在做以下事情:

public function update(MyRequest $request, $id)
{
$project = Project::find($id);
$data = $request->all(); //has a client_id
$project->update($data);
return $project->client; //Project model holds this hasOne relationship
}

问题是 update 函数返回的 $project->client 仍然是旧版本的客户端。 $project->update(...) 不应该刷新这些关系吗?我们现在使用的代码是:

public function update(MyRequest $request, $id)
{
$project = Project::find($id);
$data = $request->all(); //has a client_id
$client = Client::find($data['client_id']);
$project->update($data);
$project->client()->associate($client);
return $project->client; //Project model holds this hasOne relationship
}

此时我们都很好。那么,该函数的更高版本是否是执行此操作的正确方法(IE 获取客户端对象的更新版本)?

最佳答案

更新后保存模型:

$project->update($data);
$project->save();

return $project->client;

关于php - Laravel 5 - 更新模型不会立即更新关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309409/

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