【发布时间】:2016-06-23 10:10:52
【问题描述】:
我在cake 3.2中做了模型关联
这里我已经为同一张表的一个 id 完成了。
我已经尝试过为其他人做,但它根本不起作用
下面是流程。
我得到这个输出
{
"id": 1,
"publisher_id": 133,
"user_id": 118,
"Publisher": {
"id": 133,
"name": "Sradha sradha"
}
这里我也想绑定用户id,属于同一个用户表
输出应该是这样的(我想在下面得到这样的)
{
"id": 1,
"publisher_id": 133,
"user_id": 118,
"Publisher": {
"id": 133,
"name": "Sradha sradha"
}
"Users": {
"id": 118,
"name": "Sradha anjo"
}
这里 publisher_id 和 user_id 都属于同一个用户表。
$this->AdminRevenues->belongsTo('Users', [
'className' => 'Users',
'foreignKey' => 'user_id',
'propertyName' => 'Users']);
$this->AdminRevenues->belongsTo('Users', [
'className' => 'Publisher',
'foreignKey' => 'publisher_id',
'propertyName' => 'Publisher']);
$totalAdminRevenue = $this->AdminRevenues->find('all')
->contain([
'Users' => ['queryBuilder' => function ($q) {
return $q->select(['id', 'name']);
}]])
->toArray();
请提出建议,任何建议将不胜感激。
【问题讨论】:
-
你只是把关系的名字和表的名字搞混了。
belongsTo('Publisher', [ 'className' => 'Users',。在查询中相同。
标签: php cakephp cakephp-3.x cakephp-3.2