Cakephp 3:如何获取joing表关联数据?

时间:2016-12-07 10:48:53

标签: cakephp cakephp-3.0 cakephp-3.x

我有一个表名countriescountriesusers有关系,usersMoneyTransferTransactions有关系

MoneyTransferTransactions视图中,我需要获取国家/地区名称。

我已通过以下代码

加入MoneyTransferTransactionsTable中的用户表
$this->belongsTo('Users', [
                'foreignKey' => 'user_id',
                'joinType' => 'INNER'
]);

在用户表中我也使用了内部联接,如下面的代码

$this->belongsTo('Countries', [
            'foreignKey' => 'country_id',
            'joinType' => 'INNER'
]);

在MoneyTransferTransactions控制器中,我使用下面的代码来获取具有关联数据的所有数据。

$this->paginate = [
           'contain' => ['Users','TransferOptions'],
           'conditions'=> ['MoneyTransferTransactions.status'=>1],
           'order'  =>['MoneyTransferTransactions.id'=>'DESC']
];

我在index.ctp中使用了var_dump,我从users表获取了国家/地区ID,但没有从国家/地区表中获取国家/地区名称。如何从MoneyTransferTransactions>index.ctp获取国家/地区名称?

1 个答案:

答案 0 :(得分:1)

在'包含'

中添加用户和国家/地区之间的关联
public class RandomNumber : RealmObject
{
    public int number { get; set; }

    public RandomNumber()
    {
        number = (new Random()).Next();
    }
}