在cakephp中从另一个控制器的表中获取值

在cakephp中从另一个控制器的表中获取值,php,cakephp-3.0,Php,Cakephp 3.0,我正在尝试从另一个控制器加载模型,并加载相关的表 我写这行是为了写那行,但是第二行有点不对劲 $transactions = TableRegistry::get('Transactions')->find()->all(); $this->$transactions = [ 'contain' => ['TransactionsTypes.BudgetItems', 'Contractors', 'Purposes', 'TrustOrde

我正在尝试从另一个控制器加载模型,并加载相关的表

我写这行是为了写那行,但是第二行有点不对劲

 $transactions = TableRegistry::get('Transactions')->find()->all();
      $this->$transactions = [
        'contain' => ['TransactionsTypes.BudgetItems', 'Contractors', 'Purposes', 'TrustOrders', 'Contracts']
    ];
那么如何包含表TransactionTypes.BudgetItems。。。。要在cakephp3的控制器上执行我的功能,请尝试以下操作:

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

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

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

它给我的错误是TransactionTypes与TransactionTypes没有关联,但它在其模型上与它有关系。看起来好像有什么问题,您是否使用了$transactions=$this->loadModel('TransactionTypes');而是$transactions=$this->loadModel('transactions');它告诉我:TransactionTypes与TransactionTypes没有关联