ないとき、私は私の宿題のためにlaravel 5.2フレームワークを試していますが、私は接続でデータユニークなルールの主キーの名前の欄にid
(SQLQueryExceptionを更新しようとしていたときに私はこのようなエラーが発生しています.PHPライン729:SQLSTATE [42S22]:カラムが見つかりません:1054不明な列 'IDを' に 'where句'
siswa
= 1211
nisn
と
id
<> 14から骨材として選択数(*))
私のフォームの更新で私はこのような検証方法を適用しています
@if (isset($siswa))
{!! Form::hidden('id_siswa',$siswa->id_siswa) !!}
@endif
@if ($errors->any())
<div class="form-group {{ $errors->has('nisn') ? 'has-error':'has-success' }} ">
@else
<div class="form-group">
@endif
{!!Form::label('nisn','NISN:', ['class'=>'control-label'])!!}
{!!Form::text('nisn',null,['class'=>'form-control'])!!}
@if ($errors->has('nisn'))
<span class="help-block"> {{ $errors->first('nisn') }} </span>
@endif
</div>
...
...
<div class="form-group">
{!!Form::submit($submitButtonText,['class'=>'btn btn-primary form-control'])!!}
</div>
「NISN」フィールドはユニークなければならない、私の主キーはid_siswa、ないIDですsiswa私のコントローラで私は私のテーブルには、この
public function update($id_siswa, Request $request)
{
$siswa = Siswa::findOrFail($id_siswa);
$input = $request->all();
$validator = Validator::make($input, [
'nisn' => 'required|string|size:4|unique:siswa,nisn,'.$request->input('id_siswa'),
'nama_siswa' => 'required|string|max:30',
'tanggal_lahir'=> 'required|date',
'jenis_kelamin' => 'required|in:L,P',
]);
if($validator->fails()) {
return redirect('siswa/'.$id_siswa.'/edit')
->withInput()
->withErrors($validator);
}
$siswa->update($request->all());
return redirect('siswa');
}
のような更新方法を持っているので、私は私の中に追加していますモデルこの
protected $primaryKey = 'id_siswa';
のように私は私のコントローラ
に、このような検証ルールを変更しようとしている、私の主にidではないことを通知します10'nisn' => 'required|string|size:4|unique:siswa,nisn,NULL,'.$request->input('id_siswa'),
エラーが消滅しましたが、私のフォーム(nisnフィールドではありません)で他のフィールドを更新すると、検証は私のnisnが一意ではないというエラーを与えます。フィールド)の検証は、nisnでユニークなルールを無視し、nisnを更新すると、そのnisnが使用されているかどうかを検証します。私の英語のソーリー、私は誰かが私に解決策を与えることができることを願っています。