2015-03-31 27 views
1

organizatinos有關係,許多酮與organType屬於關聯不cakephp3工作

TABEL組織

id | name | organType_id 

1 | a  | 1 

2 | b  | 1 

3 | c  | 2 

4 | d  | 3 

表organType

id | name 

1 | aa  

2 | bb  

3 | cc 

我organiztinos模型使用belongsTo=>'organType'

型號組織

class organizationsTable extends table 
{ 
    public function initialize(array $config) 
    { 
     $this->table('organizations'); 
     $this->primaryKey('id'); 

     $this->belongsTo('organType', [ 
      'foreignKey' => 'organType_id',    
     ]); 

    } 
} 

型號organType

class organTypeTable extends table 
{ 
    public function initialize(array $config) 
    {  
     $this->table('organType'); 
     $this->primaryKey('id'); 
    } 
} 

控制器

$organization=TableRegistry::get('organizations'); 
$organization=$organization->find('all')->offset(0)->limit(30) ; 
debug($organization); 

但結果只返回組織表,我想內部組織與organ_type加入

壞的結果:

'sql' => 'SELECT organizations.id AS `organizations__id`, organizations.name AS `organizations__name`, organizations.organType_id AS `organizations__organType_id` FROM organizations organizations LIMIT 30 OFFSET 0', 

,我想這樣的結果:

'sql' => 'SELECT organizations.id , organizations.name , organizations.organType_id FROM organizations inner join organType on organizations.organType_id=organType.id 
+0

檢查此鏈接: - http://stackoverflow.com/問題/ 22139097/cakephp-belongsto-not-working – 2015-03-31 07:36:26

+0

我的代碼是cakephp3 – mhkyazd 2015-03-31 07:52:37

+0

然後嘗試檢查「belongsTo」語法是否正確。同時檢查模型類的名稱。還要嘗試檢查數據庫級別是否正確建立關係。只有這三個問題可以發生在你的情況。 – 2015-03-31 08:02:12

回答

1

book.cakephp.org

CakePHP中

從外部表中選擇3 MUSE採用contain(['organType'])

$organization=$organization->find('all')->contain(['organType'])->offset(0)->limit(30) ;