Laravel中的sql 42S22错误(选择我没有提到的列)

Laravel中的sql 42S22错误(选择我没有提到的列),laravel,Laravel,我正在Laravel中执行一个基本项目,当尝试删除条目时,会生成以下错误: SQLSTATE[42S22]:未找到列:1054 where子句中的未知列“id”SQL:select*from`employees`where`id`=6 limit 1 的确,我没有一个名为“id”的列,而是employee\u id,但是为什么它选择id而不是employee\u id呢 请解释一下这个id列是从哪里来的?在您的雇员模型Employee.php中,添加 受保护的$primaryKey='emplo

我正在Laravel中执行一个基本项目,当尝试删除条目时,会生成以下错误:

SQLSTATE[42S22]:未找到列:1054 where子句中的未知列“id”SQL:select*from`employees`where`id`=6 limit 1

的确,我没有一个名为“id”的列,而是employee\u id,但是为什么它选择id而不是employee\u id呢

请解释一下这个id列是从哪里来的?

在您的雇员模型Employee.php中,添加

受保护的$primaryKey='employee_id'


这将告诉Laravel使用employee\u id作为employee对象的主键。

Laravel假定“id”是主键,除非您另有指定。这是一个Employees表,为什么在id足够合适的情况下将列命名为employee\u id?这意味着id列特定于员工的表,不是吗?如果您愿意/需要,您可以覆盖模型中的主键。但如果不需要,则将列重命名为'id',因为这是隐含的。在雇员模型Employee.php中,添加受保护的$primaryKey='Employee_id';。谢谢,我知道了