SQLSTATE [42S22]:找不到列:1054“ where子句”中的未知列“ id”(SQL更新。),其中“ id”为null)

时间:2018-12-19 15:04:02

标签: mysql laravel

我有一些代码会产生以下错误。我该如何解决?

BookController

public function bookedit(Request $req,$id){
    $this->middleware('admin');
    $edit = Book::where('bookID','=',$id)->first();
    $edit->bookName = $req->input('bookName');
    $edit->author = $req->input('author');
    $edit->categoryID = $req->input('categoryID');
    $edit->nxb = $req->input('nxb');
    $edit->description = $req->input('description');
    $edit->price = $req->input('price');
    $edit->update();
    return redirect()->back()->withErrors(['msg', 'Sua thanh cong']);
}

当然,我在Book.php中的主键是 bookID 而不是 id 那么为什么 id 列会显示在这里???

1 个答案:

答案 0 :(得分:2)

在您Book模型中定义

class Book extends Model 
{
    protected $primaryKey = 'bookID';
    ......
}