我在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