控制器方法:
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
的{{1}}方法只返回view
表格:
我需要ID
表team_name
而不是teams
。
当我改变方法采摘时:
id
并查看:
$match2 = Match::pluck('id', 'id');
Laravel返回错误:
为foreach()提供的参数无效(查看: C:\ XAMPP \ htdocs中\足球\足球\资源\视图\管理员\接受\ edit.blade.php)
这是metohd编辑所以我必须突出显示之前选择的记录。
答案 0 :(得分:0)
试试这个$ match2 = Match :: pluck('team_a_id','id') - > toArray()
答案 1 :(得分:0)
好的我修好了。我写方法:
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"' : '' }}