私は2つのテーブルschools
とgrades
を持っています。私はすでにモデルの多対多の関係をうまくセットアップしています。IDに基づいてセレクトボックスを設定する -
データベースに選択ボックスの値を挿入することはできますが、取得には困難があります。
例えば、id = 1
のグレードをクリックすると、値を含む選択ボックスに対応する学校を取得しようとしています。私はエラーIntegrity constraint violation: 1052 Column 'id' in field list is ambiguous
を得る。
私の質問には何がないのですか?
コントローラ
public function editPage($id)
{
$grade = Grade::whereId($id)->firstorFail();
$schools = $grade->schools()->pluck('id')->toArray();
return view('grades.edit',compact('grade','schools'));
}
モデル
public function schools()
{
return $this->belongsToMany('App\School')
->withTimestamps();
}
ビュー
<div class="form-group">
<label for="select" class="col-lg-2 control-label">School</label>
<div class="col-lg-10">
<select class="form-control" id="school" name="school[]" mulitple>
@foreach($schools as $school)
<option value="{!! $school->id !!}" @if(in_array($school->id, $schools)) selected="selected" @endif >
{!! $schools->name !!}
</option>
@endforeach
</select>
</select>
</div>
</div>
戻り値のビューに2つのid列があると思います。あなたの関係はどう定義されていますか? – wast
多対多の関係。私はそれぞれのモデルでそれらを設定しました –
私たちに実装を教えてもらえますか?どの行に正確にそのエラーが表示されますか? – wast