我有3个型号: 插件,评论和用户。
用户是插件的父级。在一对多关系中,我可以轻松地创建一个与用户关联的插件:
$user->plugins()->create([...options...]);
但现在我的问题是:评论是用户和插件的孩子。如何使用用户和插件创建评论而无需手动设置一个ID?
答案 0 :(得分:1)
假设Review属于User和Plugin,您可以使用关系的associate()
方法来设置外键。注意,此方法仅在对象上设置适当的属性;你仍然需要save()
对象来更新数据库。
以下是一个例子:
$plugin = $user->plugins()->create([...plugin options...]);
// instantiate a new review instance
$review = new \App\Review([...review options...]);
// set the user association
$review->user()->associate($user);
// set the plugin association
$review->plugin()->associate($plugin);
// save the entire record to the database
$review->save();