我有一個名爲「Characters」的表。每一行都由/標識一個名爲char_id的主鍵。我有路線和模板以及一些帶有一些CRUD的控制器,所以Laravel工作的很好。Laravel 5.4 - 查詢生成器問題
當用戶轉到「字符/ {char_id}」例如「字符/ 2」時,我希望能夠顯示由行ID標識的行。
我已經在我的網站,將以下代碼:
Route::get('characters/{char_id}', function($char_id) {
$character = \DB::table('characters')->find($char_id);
dd($character);
});
但是當我遊「字/ 1」或任何其他的號碼,我得到這個錯誤:
QueryException in Connection.php line 647: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select * from
characters
whereid
= 1 limit 1)
這似乎是尋找一個名爲「id」的列,無論我嘗試從URL傳遞什麼。我正在學習使用「id」的教程,所以我懷疑我的代碼正在尋找一個名爲「id」的列,但我不知道如何解決這個問題。
「默認」 意味着你可以改變它。你不能。查找明確地與「id」列進行比較。你只能通過擴展'Builder'類並重新定義'find'方法來改變它。 – Scopey
不是如果你使用模型,因爲我剛剛添加 –
確實,但是你使用的是ActiveRecord,而不僅僅是DBAL。 – Scopey