2015-10-14 93 views
1

我在laravel新的,用户登录和注册我创造我自己的表命名为包含auto_id作为主键“provider_regs”( provider_regs表不包含任何名为'id'的键)。在成功注册后,当我尝试在另一个选项卡中点击相同的注册网址时,我收到以下错误页面:SQLSTATE [42S22]:列未找到:1054未知列“table_name.id”

SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'provider_regs.id' (SQL:select * from provider_regs where provider_regsid = 0 limit 1)

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

+0

你能粘贴laravel查询吗? –

+0

我得到这些查询错误页面上,在 连接 - > runQueryCallback( 'SELECT * FROM'provider_regs'其中'provider_regs'.'id' =?极限1',阵列( '0'),对象(封闭))在Connection.php线596 在连接 - >运行( '从'provider_regs'选择*,其中'provider_regs'.'id' =?极限1',阵列( '0'),对象(封闭))在Connection.php线315在 连接 - >选择( 'SELECT * FROM'provider_regs'其中'provider_regs'.'id' =?限制1',阵列( '0'),真)在Builder.php线1389 – Amarja

回答

1

在您的ProviderRegs模型中,您可能会更改主键,因为默认为id,并且您想要使用auto_id

添加$primaryKey变量模型(应用程序\ ProviderRegs.php)

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

口才也将承担每个表都有一个主键列 名为id。你可以定义一个$primaryKey属性来覆盖这个 约定。

+0

由于它的工作原理。 .. – Amarja

相关问题