Я только что начал изучать laravel на прошлой неделе, и эта ошибка возникла, когда я попытался получить доступ к строке, используя ее id, идентификатор извлекается из URL-адреса.Laravel 5.2 неизвестный столбец при выборе из таблицы базы данных
QueryException в connection.php линии 725: SQLSTATE [42S22]: Column не найдено: 1054 Неизвестный столбец 'berita.id' в 'где предложение' (SQL: SELECT * FROM berita
где berita
id
= 7 предел 1.) error
Я знаю, что вы, должно быть, думаете, что у меня нет колонки «id», да, я этого не делаю. Но у меня есть столбец «id_berita», который я написал в коде вместо «id».
routes.php
Route::get('edit/{id_berita}', '[email protected]');
Route::get('/edit', '[email protected]');
RecordsController.php
public function showEdit()
{
$berita=Berita::all();
return view('editBerita')->with('berita',$berita);
}
public function edit($id_berita)
{
$berita = Berita::find($id_berita);
return View ('edit_form')->with('berita',$berita);
}
editberita.blade
@foreach($berita as $key=>$berita)
<tr>
<td>{{$berita->id_berita}}</td>
<td>{{$berita->judul_berita}}</td>
<td>{{$berita->isi_berita}}</td>
<td>{{$berita->tanggal_berita}}</td>
<td>{{$berita->tanggal_postBerita}}</td>
<td>{{$berita->tanggal_updateBerita}}</td>
<td><a class="btn btn-large btn-success" href="{{ URL::to('edit/' . $berita->id_berita) }}">Edit</a></td>
</tr>
@endforeach
edit_form.blade
<form role="form" method="POST" action="{{ url('/edited_data',$berita->id_berita) }}">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<div class="form-group">
<label class="col-md-3 control-label">Judul:</label>
<div class="col-md-9">
<input type="text" class="form-control" name='judul_berita' value="{{$berita->judul_berita}}"/> </br>
</div>
</div>
ошибка происходит, когда я нажал на кнопку редактирования на editBerita.blade.
он работал, спасибо большое, я пытался найти ошибку в течение 2-х дней, потому что я думал, что это просто опечатка. –
Можете ли вы объяснить, почему он решил проблему? –
Он устанавливает имя, которое вы использовали для первичного ключа в таблице. Если вы видите, что в классе Model, который вы наследуете, вы обнаружите, что значение по умолчанию установлено там на id, поэтому вы получили ошибку, которая отсутствует в столбце id. Laravel использует это вместо того, чтобы использовать дополнительный запрос к базе данных, чтобы найти то, что установлено как первичный ключ в таблице. – rypskar