Laravel 使用两个模型关系创建另一个模型对象
Laravel Using two models relationships to create another model object
有一个用户和设计模型,用户模型有很多预购模型,设计模型也有很多预购模型。预购属于用户和设计。 (设计也属于用户)使用 auth()->user()->designs()->preorders()->create 创建预购订单时显示预购未定义。
user model
design model
preorder model
error
preorder controller
由于用户可以有很多设计,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.
有一个用户和设计模型,用户模型有很多预购模型,设计模型也有很多预购模型。预购属于用户和设计。 (设计也属于用户)使用 auth()->user()->designs()->preorders()->create 创建预购订单时显示预购未定义。
user model
design model
preorder model
error
preorder controller
由于用户可以有很多设计,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.