Illuminate \ Database \ QueryException(42S22)SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'produk.id'(SQL:select * from produk其中produk.id = 65 limit 1)
我不知道错误在哪里,我的代码显示错误:
public function update(Request $request, $id)
{
$this->validate($request, $this->aturan, $this->pesan);
$produk = produk::find($id);
$produk->nama_produk = $request['nama'];
$produk->id_kategori = $request['kategori'];
$produk->harga_jual = $request['harga'];
$produk->update();
return Redirect::route('produk.index');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$produk = Produk::find($id);
$produk->delete();
return Redirect::route('produk.index');
}
2 回答
根据Eloquent文档,如果您的模型使用的是与
id
不同的主键,则必须对其进行配置 . Eloquent期望主键为id
,默认情况下它是一个自动递增的整数 .Laravel 5.6 Docs - Eloquent - Model Conventions
试试这个而不是findOrFail