gpt4 book ai didi

laravel - Eloquent:不保存到数据库的模型关系

转载 作者:行者123 更新时间:2023-12-02 17:24:17 25 4
gpt4 key购买 nike

假设我有两个模型:用户和任务

它们的关系如下:用户可以有很多任务(belongsToMany)任务可以有很多用户(belongsToMany)

$user = new User();
$task = new Task();

通常,我会做这样的事情: $user->tasks->attach($task)

但问题是用户和任务没有保存在数据库中。因此,如果我运行上面的最后一个代码,我将获得完整性约束,因为这些模型没有 ID。

我查看了文档,发现有一个方法 associate() 但这需要其中一个具有 ID(保存在数据库中)的模型。

有什么方法可以将一个模型附加到另一个模型,而无需将它们保存在数据库中?

最佳答案

我猜你可以手动调用 setRelation。

$model->setRelation('child', $childInstance);

eLSE

只需实例化即可创建新模型:

$model = new Model;

您可以稍后将其保存到数据库中:

$model->save();

关于laravel - Eloquent:不保存到数据库的模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40018464/

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