Laravel 5.3 выберите метод срывания
Контроллер метод:
public function edit($id){
$match2 = Match::pluck('team_a_id', 'id');
return view('admin.accept.edit', compact('match2'));
}
И просмотреть файл:
{{ Form::select('matches_id', $match2, null, ['class' => 'form-control']) }}
И мой стол:
Стол из модели Match
(имя таблицы: совпадения):
Стол из модели Team
(название таблицы: команды):
Таблица teams
связан (ссылки) с таблицей matches
(team_a_id
а также team_b_id
связан с таблицей teams
). select
метод с view
вернул мне только ID
с таблицами:
Мне нужно иметь team_name
со столом teams
не id
, Когда я меняю метод срыва:
$match2 = Match::pluck('id', 'id');
И посмотреть:
{{ Form::select('matches_id', Team::find($match2)->team_a_id." vs. ".Team::find($match2)->team_b_id, null, ['class' => 'form-control']) }}
Laravel вернул ошибку:
Указан неверный аргумент для foreach () (представление: C:\xampp\htdocs\football\football\resources\views\admin\accept\edit.blade.php)
Это метод редактирования, поэтому я должен выделить запись, которая была ранее выбрана.
2 ответа
Хорошо, я ремонтирую это. Я пишу метод:
public function edit($id){
$match = Match::select()->orderBy('updated_at', 'asc')->get();
$selectedMatch = DB::table('usermatches')->find($id)->matches_id;
return view('admin.accept.edit', compact('match', 'selectedMatch'));
}
И посмотреть:
<select name="matches_id" id="matches_id" class="form-control selectpicker" data-live-search="true" data-size="5">
<option value=0>Wybierz wydarzenie</option>
@foreach($match as $role)
<option value="{{ $role->id }}" {{ $selectedMatch == $role->id ? 'selected="selected"' : '' }}>
{{ Team::find($role->team_a_id)->team_name }} vs. {{ Team::find($role->team_b_id)->team_name }} ({{$role->date}}; <?php echo date('G:i',strtotime($role->time)); ?> | Liga {{ League::find($role->league_id)->name }} | {{ Sport::find($role->sport_id)->name }})
</option>
@endforeach
</select>
В виде модели я сравниваю id
с двумя таблицами и все работает;)
{{ $selectedMatch == $role->id ? 'selected="selected"' : '' }}
Попробуйте это: $match2 = Match::pluck('team_a_id', 'id')->toArray()