2017-04-16 55 views
0

我试图从另一个控制器和关联的表中加载模型。从cakephp的另一个控制器中的表中获取值

我已经使这条线,但第二行有问题。

$transactions = TableRegistry::get('Transactions')->find()->all(); 
     $this->$transactions = [ 
     'contain' => ['TransactionsTypes.BudgetItems', 'Contractors', 'Purposes', 'TrustOrders', 'Contracts'] 
    ]; 

所以,我怎么能包含表TransactionsTypes.BudgetItems,......我在cakephp3控制器

回答

0

试试这个功能,

$transactions=$this->loadModel ('Transactions'); 
$transactions->find('all',['contain'=>['TransactionsTypes.BudgetItems', 'Contractors', 'Purposes', 'TrustOrders', 'Contracts']])->toAray(); 
+0

它给我的错误 TransactionsTypes不与TransactionsTypes 相关,但它有它的关系在其模型。 –

+0

看起来有点不对劲, 你有没有使用$ transactions = $ this-> loadModel('TransactionsTypes'); 改为 $ transactions = $ this-> loadModel('Transactions'); – ashanrupasinghe

+0

它给了我:TransactionsTypes不与TransactionsTypes关联 –

0

与您的代码,你是将$transactions设置为查找所有没有任何关联的记录的结果,然后将$this->transactions设置为简单数组。 @ ashanrupasinghe的答案是一个另类,这里是另一个:

$transactions = TableRegistry::get('Transactions')->find()->all() 
    ->contain(['TransactionsTypes.BudgetItems', 'Contractors', 'Purposes', 'TrustOrders', 'Contracts']); 
相关问题