1

users 表的 id 列的默认代码如下:

        **$table->id();**

但我改为: $table->bigIncrements('user_id');

现在我收到错误消息,说在根本不运行用户表查询的文件中找不到“id”列。我不知道我错在哪里。

或者 id 列毕竟是不可更改的,因为它是包?

4

3 回答 3

2

$user->id() 默认检查主键列 'id'。

因此,您可以像这样重命名模型中的主键:

    protected $primaryKey = 'user_id';

于 2022-01-03T06:37:18.327 回答
0

请转到您的模型并添加以下代码行,它将解决您的问题。

这是因为 laravel 默认搜索 id 并没有找到它,因为你已经改变了它,如果你想让 Laravel 知道你的主键不是 id 而是 'user_id' 你应该在你的模型中添加它 Laravel应该从那里得到它。

protected $primaryKey = 'user_id';

这就对了。

于 2022-01-03T13:12:04.673 回答
0

id()is a 是 bigIncrements 方法的别名。所以你可以这样写

$table->id('user_id');
于 2022-01-03T06:42:35.470 回答