2017-04-18 182 views
1

我得到以下錯誤:列未找到laravel 5.4

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'books.id' in 'where clause' (SQL: select * from books where books . id = 98745632564 limit 1)

當我通過值id爲ID。我在我的數據庫中有列名bookID,但是在上述錯誤中,它比較了books.id = 98745632564.我無法理解book.id的來源。

public function showBook($id){ 
    $book = Book::findOrFail($id); 
    return $book; 
} 

代碼工作完全正常,當我通過值id與查詢,如下所示

public function showBook($id){ 
    $book = Book::where('bookID', $id)->find(); 
    return $book; 
} 

回答

6

您應該設置:

protected $primaryKey = 'bookID'; 

Book模型進行:

$book = Book::findOrFail($id); 

版本wo RK。

方法findfindOrFail使用的主鍵,這是默認設置爲id,所以如果你有任何自定義主鍵,你應該設置在你的口才模型。

+0

謝謝你的工作。 – cnayak

相關問題