2016-02-01 31 views
1

我想在hasMany函数中创建自定义查询。我没有收到任何错误,但是我没有从join表中得到任何数据。什么是错的?Yii2 - hasMany带自定义查询

这是函数:

return $this->hasMany(UserKeys::classname(), ['user_id' => 'id']) 
      ->select('licences.licenceName, userKeys.*') 
      ->from('userKeys') 
      ->innerJoin('licences', 'licences.id = userKeys.licence_id'); 
+0

- > from('userKeys')不应该使用,您已经定义了上面的表格。 –

+0

删除了那部分,它没有改变任何东西:/ – Sasha

+0

看看调试栏,SQL查询是否正确运行? –

回答

1

采用以下语法尝试。它可能会帮助你。

return $this->hasMany(UserKeys::classname(), ['user_id' => 'id']) 
      ->select('licences.licenceName, userKeys.*') 
      ->from(['userKeys' => UserKeys::classname()]) 
      ->viaTable('licences', ['licences.id = userKeys.licence_id']);