[英]error table1 is not associated with table2 cakephp3
email_orgs與組織有多對一的關系
Tabel email_orgs
id | name | organizations_id
1 | a | 1
2 | b | 1
3 | c | 2
4 | d | 3
表組織
id | name
1 | aa
2 | bb
3 | cc
型號email_orgs
class email_orgsTable extends table
{
public function initialize(array $config)
{
$this->table('email_orgs');
$this->primaryKey('id');
$this->belongsTo('organizations', [
'foreignKey' => 'organizations_id',
'joinType' => 'INNER',
'className' => 'organizations',
]);
}
}
示范組織
class organizationsTable extends table
{
public function initialize(array $config)
{
$this->table('organizations');
$this->primaryKey('id');
$this->belongsTo('tabaghe_organizations_peoples', [
'foreignKey' => 'tabagheOrganizationsPeople_id',
'joinType' => 'INNER',
]);
$this->belongsTo('onvane_organizations', [
'foreignKey' => 'onvaneOrganizations_id',
'joinType' => 'INNER',
]);
}
}
調節器
$email_org=TableRegistry::get('email_orgs');
$email_org=$email_org->find('all')->contain(['organizations'])->offset($from)->limit($to) ;
說錯誤“ email_orgs與組織無關”
請幫助我
真傻。
我不知道,但是當重命名email_orgs
到emailorgs
數據庫和模型
這工作。
我不知道為什么??
模型和數據庫約定
表類名稱是復數形式和CamelCased。 People,BigPeople和ReallyBigPeople都是常規模型名稱的示例。
與CakePHP模型相對應的表名是復數形式且帶有下划線。 上述模型的基礎表分別是人,big_people和true_big_people。
您可以使用實用程序庫Cake \\ Utility \\ Inflector來檢查單詞的單數/復數。 有關更多信息,請參見變形器。
帶兩個或多個單詞的字段名稱將加下划線:first_name。
默認情況下,將hasMany,belongsTo或hasOne關系中的外鍵識別為相關表的(單數)名稱,后跟_id。 因此,如果Bakers有很多Cakes,則cakes表將通過baker_id外鍵引用bakers表。 對於名稱包含多個單詞的表(如category_types),外鍵將為category_type_id。
在模型之間的BelongsToMany關系中使用的聯接表應以將要聯接的模型表命名,並按字母順序排列(apples_zebras而不是zebras_apples)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.