2015-06-21 4 views
3

У меня есть 3 модели: Пользователь, Campagin, CampaginTypeLaravel - Сохранить на несколько моделей/отношения

  • Пользователь имеет много Campagin

  • Campagin принадлежит CampaginType

(Пользователь не связанных с CampaginType)

Когда я сохраняю кампании (содержит user_id и campaign_type_id поле), как можно сохранить 2 поля с помощью одной команды.

Я стараюсь, как: $user->campaigns()->campaignType($campaignType)->create($campaignInfo);

Но это не работает! :(

+0

в Laravel вы не сохраняете поля, вы их выполняете, а затем сохраняете всю модель. – Salar

+0

Что должен делать объект campaignType ($ campaignType)? Вы объявили его где-то? –

+0

вы можете показать нам свою модельную реализацию? –

ответ

-1
public function store(Request $request) 
{ 
    Campaign::create($request->all()); 
    $campaign = Campaign::where('unique_field', '=', $request->uniquefield)->first(); 
    $campaign->users()->attach($request->user_id); 
    $campaign->campaign_type()->attach($request->campaign_type_id); 

    return redirect('your_destination_view'); 
} 

Примечание

uniquefield является то, что является уникальным для таблицы базы данных кампании. Вы должны также изменить модели путем добавления соответствующих методов, чтобы сделать красноречивые отношения.