users 表的 id 列的 dafault 代碼如下所示:
**$table->id();**
但我改為: $table->bigIncrements('user_id');
現在我收到錯誤訊息,說在根本不運行用戶表查詢的檔案中找不到“id”列。我不知道我錯在哪里。
或者 id 列畢竟是不可更改的,因為它是包?
uj5u.com熱心網友回復:
$user->id() 默認檢查主鍵列“id”。
因此,您可以像這樣重命名模型中的主鍵:
protected $primaryKey = 'user_id';
uj5u.com熱心網友回復:
id()is a 是 bigIncrements 方法的別名。所以你可以這樣寫
$table->id('user_id');
uj5u.com熱心網友回復:
請轉到您的模型并添加以下代碼行,它將解決您的問題。
這是因為 Laravel 默認搜索 id 并且找不到它,因為您已經更改了它,如果您想讓 Laravel 知道您的主鍵不是 id 而是“user_id”,您應該將它添加到 Laravel 的模型中應該從那里得到它。
protected $primaryKey = 'user_id';
這就對了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/402138.html
標籤:拉拉维尔 laravel 认证 laravel-ui
下一篇:當我在laravel中將記住我的引數設定為true時,如何修復Auth::loginUsingId()的奇怪行為
