SQLSTATE [42S22]:找不到列:1054未知列' table_name.id'

时间:2015-10-14 11:53:03

标签: php mysql laravel-5

我是laravel的新手,对于用户登录和注册,我创建了自己的表,名为' provider_regs'其中包含auto_id作为主键(provider_regs表不包含任何名为' id'的键)。注册成功后,当我尝试在另一个选项卡中点击相同的注册URL时,我收到以下错误页面:

SQLSTATE [42S22]:未找到列:1054未知列' provider_regs.id'在' where子句' (SQL:从provider_regs中选择{provider_regsid = 0限制1)

当我清除历史记录时,它不会向我显示该错误页面。我不知道该怎么做,请提出任何建议。

1 个答案:

答案 0 :(得分:1)

ProviderRegs模型中,您可以更改主键,因为默认值为id,并且您希望使用auto_id

$primaryKey变量添加到模型(App \ ProviderRegs.php)

class ProviderRegs extends Model {
    protected $primaryKey = 'auto_id';
}
  

Eloquent还会假设每个表都有一个主键列   命名id。您可以定义$primaryKey属性来覆盖它   约定。