在CakePHP3中显示一列Join


Show a column of Join in CakePHP3

我在CakePHP3工作,我读了官方的书,但没有发现这个。我想使用join显示另一个表的列。我有这样的代码:

 $id = $this->Auth->User('idUsuarios');
 $lastquery = TableRegistry::get('Apuestas');
 $query = $lastquery->find()
         ->join([
        'Juego' => [
            'table' => 'juego',
            'type' => 'LEFT',
            'conditions' => 'Apuestas.juego_idJuego = Juego.idJuego'
        ]])
->where(['usuarios_idUsuarios' => $id])
->order(['fecha' => 'ASC'])
->limit(1);
 $this->set(compact('query'));

但是它没有显示任何连接表

看看这部分内容

http://book.cakephp.org/3.0/en/orm/associations.html

选择最合适的关联

让我给你看看我的例子:

  • 国家HasMany Comunites
  • 社区HasMany景点,BelongsTo国家,HasMany省份
  • Province HasMany Spots, BelongsTo communities
  • 现货BelongsTo国家,BelongsTo行政区,BelongsTo

之后,通过$id

显示特定位置
$spot = $this -> Spots -> find()->where(['Spots.id' => $id])-> contain(['Provinces' => ['Communities' => ['Countries']]])->first();

现在我可以调用视图,例如$spot -> province -> name$spot -> country -> name