dongmu5920 2015-04-06 13:42
浏览 33
已采纳

cakephp3两个外键同型号

Tabel coding


id |  level1  |  level2  |  title
_____________________________________
1  |  100     |  1       |  numberOne
2  |  100     |  2       |  NumberTwo
3  |  101     |  1       |  Compay
4  |  101     |  2       |  association

Table Organizations

id  | name  |  type  | level
____________________________
1   | intel |  3     |  1 
2   | IBM   |  4     |  2

Model Organizations

class organizationsTable extends table
{    
    public function initialize(array $config)
    {       
        $this->table('organizations');
        $this->primaryKey('id');

        $this->belongsTo('coding', [
            'foreignKey' => 'type',
            'joinType' => 'INNER',      
            ],
            'coding', [
            'foreignKey' => 'level',
            'joinType' => 'INNER']);

    }
}

this code$organization->find('all')->contain(['coding']) only set level to foreignKey but i want set level and type to foreignKey for table organizations

i sql query like this

select * from organizations inner join coding on organizations.type=coding.id inner join coding ccc on organizations.level=ccc.id

how create join like this?

EDIT

i write this but say error :organizations is not associated with coding

$this->belongsTo('yyyy', [
    'foreignKey' => 'type',
    'className' => 'coding' 
    ],
    'xxxx', [
    'foreignKey' => 'level',
    'className' => 'coding'
]);
  • 写回答

1条回答 默认 最新

  • dongmacuo1193 2015-04-07 04:00
    关注

    in cakephp2 Multiple relations to the same model

    but in cakephp3 try like this

    $this->belongsTo('aliasName1', [
        'foreignKey' => 'type',
        'className' => 'coding'
        ]);
    $this->belongsTo('aliasName2', [
        'foreignKey' => 'level',
        'className' => 'coding' 
        ]);
    

    Controller

    $organization->find('all')->contain(['aliasName1'])->contain(['aliasName2']);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?