2015-10-14 92 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

相關問題