users 表的 id 列的默认代码如下:
**$table->id();**
但我改为: $table->bigIncrements('user_id');
现在我收到错误消息,说在根本不运行用户表查询的文件中找不到“id”列。我不知道我错在哪里。
或者 id 列毕竟是不可更改的,因为它是包?
users 表的 id 列的默认代码如下:
**$table->id();**
但我改为: $table->bigIncrements('user_id');
现在我收到错误消息,说在根本不运行用户表查询的文件中找不到“id”列。我不知道我错在哪里。
或者 id 列毕竟是不可更改的,因为它是包?
$user->id() 默认检查主键列 'id'。
因此,您可以像这样重命名模型中的主键:
protected $primaryKey = 'user_id';
请转到您的模型并添加以下代码行,它将解决您的问题。
这是因为 laravel 默认搜索 id 并没有找到它,因为你已经改变了它,如果你想让 Laravel 知道你的主键不是 id 而是 'user_id' 你应该在你的模型中添加它 Laravel应该从那里得到它。
protected $primaryKey = 'user_id';
这就对了。
id()
is a 是 bigIncrements 方法的别名。所以你可以这样写
$table->id('user_id');