I get the following error:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'books.id' in 'where clause' (SQL: select * from
books
wherebooks
.id
= 98745632564 limit 1)
when I pass id value as id. I have column name bookID in my database but in the above error it is comparing books.id = 98745632564. I could not understand where book.id is coming from.
public function showBook($id){
$book = Book::findOrFail($id);
return $book;
}
The code works perfectly fine when I pass id value with the query as follows
public function showBook($id){
$book = Book::where('bookID', $id)->find();
return $book;
}
You should set:
in your
Book
model to make:version work.
Methods
find
orfindOrFail
are using primary key and this is by default set toid
, so if you have any custom primary key, you should set it in your Eloquent model.