Laravel将$primarykey忽略为模型';s主键

Laravel将$primarykey忽略为模型';s主键,laravel,eloquent,laravel-7.x,Laravel,Eloquent,Laravel 7.x,即使这似乎是一个经常被问到的问题,它也让我发疯 我有这个模型: class Product extends Model { protected $table = 'product'; protected $primaryKey = 'product_id'; } 当我尝试从模式中获取数据时,例如: Product::find(29); 我不断得到错误: Column not found: 1054 Unknown column 'product.id' in 'where c

即使这似乎是一个经常被问到的问题,它也让我发疯

我有这个模型:

class Product extends Model
{
    protected $table = 'product';
    protected $primaryKey = 'product_id';
}
当我尝试从模式中获取数据时,例如:

Product::find(29);
我不断得到错误:

Column not found: 1054 Unknown column 'product.id' in 'where clause' (SQL: select * from `product` where `product`.`id` = 29 limit 1)
为什么Laravel仍然认为我的主键是默认的“id”,而我却特别设置了它?模型是否有缓存需要清除,或者我是否遗漏了什么?

表中“product\u id”的数据类型是什么id?它是“product\u id”。无论如何,我不得不将其重命名为“id”以使其工作。表中“product\u id”的数据类型是什么id?它是“product\u id”。无论如何,我不得不把它重命名为“id”来让它工作。