【问题标题】:Laravel 5.3 select pluck methodLaravel 5.3 选择采摘方法
【发布时间】:2017-06-11 17:55:54
【问题描述】:

控制器方法:

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_idteam_b_id 与表teams 连接)。带有viewselect 方法只返回了带有表格的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)

这是方法编辑,所以我必须突出显示之前选择的记录。

【问题讨论】:

标签: php laravel pluck


【解决方案1】:

好的,我修复它。我写方法:

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"' : '' }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 2017-11-12
    • 1970-01-01
    • 2018-06-30
    • 2015-09-26
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    相关资源
    最近更新 更多