创建具有多种关系的雄辩实例?

时间:2016-01-17 03:56:26

标签: php laravel eloquent relationship laravel-5.2

我有3个型号: 插件,评论和用户。

用户是插件的父级。在一对多关系中,我可以轻松地创建一个与用户关联的插件:

$user->plugins()->create([...options...]);

但现在我的问题是:评论是用户和插件的孩子。如何使用用户和插件创建评论而无需手动设置一个ID?

1 个答案:

答案 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();