簡體   English   中英

錯誤table1與table2不關聯cakephp3

[英]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_orgsemailorgs數據庫和模型

這工作。

我不知道為什么??

模型和數據庫約定

表類名稱是復數形式和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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM