2017-04-16 11 views
0

私は別のコントローラと関連テーブルからモデルをロードしようとしています。cakephpの別のコントローラのテーブルから値を取得する

私はこの行を作っていますが、2行目には何か問題があります。

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

それでは、どのように私は私の関数にcakephp3

答えて

0

のコントローラで、あなたのコードで

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

それは私がTransactionsTypes に関連付けられていない TransactionsTypesをエラー与えている。しかし、それはそのモデルでそれと関係を持っています。 –

+0

Lookは何かが間違っている、 $ transactions = $ this-> loadModel( 'TransactionsTypes');代わりに $ transactions = $ this-> loadModel( 'Transactions'); – ashanrupasinghe

+0

それは私にそれを与える:TransactionsTypesはTransactionsTypesに関連付けられていない –

0

これを試してみてください....、テーブルTransactionsTypes.BudgetItemsが含まれていることができ、あなたがしています$transactionsを、関連なしですべてのレコードを検索し、次に$this->transactionsを単純な配列に設定した結果とします。 @ ashanrupasingheの答えはここで、一つの代替である別です:

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