2016-04-19 7 views
1

У меня есть таблица, содержащая несколько художников. При создании события (обновлении таблицы событий) мне нужно выбрать исполнителей, которые я хочу выполнить на своем событии, и добавить их идентификаторы в таблицу event_artist (транзитивная) (которая содержит event_id & artist_id). Как мне продолжить?laravel 5 advance eloquent множественный выбор

+0

Опубликовать то, что вы пробовали до сих пор. – Anderscc

ответ

0

Вы бы определили many to many relationship.

В Artist классе модели:

public function events() 
{ 
    $this->belongsToMany(Event::class); 
} 

В Event классе модели:

public function artists() 
{ 
    $this->belongsToMany(Artist::class); 
} 

Это предполагает, что ваша сводная таблица называется artist_event (два других имен таблиц, объединенных в алфавитном порядке). В противном случае вы можете передать имя сводной таблицы в качестве второго аргумента, принадлежащего ToMany: belongsToMany(Event::class, 'event_artist').

Тогда вы можете attach художнику на мероприятие, используя $event->artists()->attach($artist);. Или отсоедините $event->artists()->detach($artist);. Вы также можете синхронизировать коллекцию художников: $event->artists()->sync($artists);. Вы также можете присоединять, отсоединять или синхронизировать события с артистами. Все три метода будут принимать либо «Красноречивые модели», либо «Иды».

Смежные вопросы