2017-01-01 36 views
0

我剛剛得到php active recordeloquen從laravel 在codeigniter上運行。第一次嘗試創建它的運行良好的模式,但在那之後我得到這個以下錯誤:eloquen和php的活動記錄不能找到表,因爲額外的表後綴的'

Type: Illuminate\Database\QueryException

Message: SQLSTATE[42S02]: Base table or view not found: 1146 Table dog.ids' doesn't exist (SQL: select * from ids)

所以讓它運行,我需要改變每個表與數據庫除了後綴「S」,但保持型號名稱不帶後綴「 S'。

例如:
的模型ID

class id extends ActiveRecords/Model{ 
} 

需要多部未華IDS。
那麼如何讓表格與模型保持同名?
我不明白究竟發生了什麼。兩個庫都使用pdo來橋接數據。


ps:對不起,我真的很糟糕的英語

回答

1

phpactiverecord有一些約定,就像你指的整個複數。幸運的是,你可以覆蓋它們。這樣你就不需要改變你的數據庫。

class id extends ActiveRecords/Model{ 
    static $table_name = 'id'; 
} 

見:http://www.phpactiverecord.org/projects/3/wiki/Conventions

+0

和雄辯的表'$保護表= 'ID';'。看起來很醜。但是我應該怎麼做......?這是唯一的解決方案。我還沒有接受,但+1解決方案。謝謝... – areiilla

+0

我不確定你應該怎麼做。對於phpactiverecord,我會建議儘量遵守其慣例。命名你的表格,字段等,以便phpactiverecord理解它。此外,保持每個小寫等等我看不出多少麻煩,但你。 – Nanne

+0

傳統的配置 – areiilla