拉拉维尔 使用两个模型关系创建另一个模型对象



有一个用户和设计模型,用户模型有很多预购模型,设计模型也有很多预购模型。 而预购属于用户和设计。(设计也记录给用户(当使用auth((->user((->designs((->preorders((->create创建preo订单时,显示预购是未定义的。

用户模型

设计模型

预购模式

错误

预购控制器

由于用户可以有许多设计,因此Laravel不可能知道哪个design_id应该与要创建的预购相关联。

auth()->user()->designs()->preorders()->create([]); // Can't work because user has many designs. Which one should be used to create the preorder?

相反,您应该在设计上链接预购创建方法:

$design->preorders()->create(['user_id' => auth()->id()]); // One design and one user specified: preorder can be created.

或在$user:

auth()->user()->preorders()->create(['design_id' => auth()->id()]); // One design and one user specified: preorder can be created.

最新更新