Привет, Я работаю над интерфейсом CRUD для обновления события.Laravel - Form - Eager Loading
Класс событий Модельсобытие принадлежит много Организатор
class Event extends Model
{
public function organizers()
{
return $this->belongsToMany('App\Organizer')->withTimestamps();
}
}
Организатор класса Модель
class Organizer extends Model
{
public function event()
{
return $this->belongsToMany('App\Event')->withTimestamps();
}
}
контроллер Eventя отправить событие вместе с его организатором (ами)
public function edit($id)
{
$event = Event::with(['organizers'])->findOrFail($id);
return view('event.edit', ['event' => $event]);
}
вид event.edit
<? $organizers = DB::table('organizers')->lists('name', 'id'); ?>
{!! Form::model($event, [
'method' => 'PATCH',
'route' => ['eventUpdate', $event->id]
]) !!}
<div id="organizer_id-group" class="form-group">
{{Form::select('organizer[id]', $organizers, null,['class'=>'form-control'])}}
</div>
{!! Form::submit('Update', ['class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
На данный момент я вижу весь список организаторов, которые хорошо, но значение по умолчанию или выбранное не соответствует значению, связанному с событием.
Я попытался
<div id="organizer_id-group" class="form-group">
@foreach($event->organizers as $key =>$organizer)
{{Form::select($organizer->id, $organizers, null,['class'=>'form-control'])}}
@endforeach
</div>
но выбранный организатор всегда первым, даже если $ organizer-> ID = 2
Любая помощь будет приветствоваться. Спасибо
Здравствуйте, Leon, я изменил назначение функций, поскольку событие принадлежит многим организаторам. Я добавил картинку таблицы event_organizer, которая является перекрестной ссылкой betweevent event_id и organizer_id. Я пробовал ваш синтаксис, но orgnizer все еще всегда первый. –
Я также добавил структуру объекта события, которую хочу обновить. Это событие $ является тем, которое у меня есть в событии event.edit при отладке. –