2016-01-17 1 views
2

У меня есть 3 модели: Плагин, обзор и пользователь.Создание экземпляра красноречия с несколькими отношениями?

Пользователь является родительским элементом Плагина. В связи один-ко-многим, я могу создать плагин asociated с пользователем легко:

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

Но теперь моя проблема: обзор является дочерним как пользователя и плагинов. Как создать обзор с пользователем и плагином без установки одного ID вручную?

ответ

1

Предполагая, что обзор принадлежит пользователю и плагину, вы можете использовать метод отношения 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(); 
+0

работы, спасибо! Это именно то, что я ищу :) – mrHooty