Yii2-具有多个自定义查询

Yii2-具有多个自定义查询,yii,yii2,Yii,Yii2,我正在尝试在hasMany函数中创建自定义查询。我没有得到任何错误,但是我没有从join语句中的表中得到任何数据。怎么了 这就是功能: return $this->hasMany(UserKeys::classname(), ['user_id' => 'id']) ->select('licences.licenceName, userKeys.*') ->from('userKeys') ->

我正在尝试在hasMany函数中创建自定义查询。我没有得到任何错误,但是我没有从join语句中的表中得到任何数据。怎么了

这就是功能:

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

尝试以下语法。这可能对你有帮助

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

->不应使用from('userKeys'),您已经定义了上面的表。删除了该部分,它没有更改任何内容:/n查看调试栏,正在运行的SQL查询是否正确?检查通过将真列名重命名为假列名生成的SQL查询字符串。例如,如果一个表有“licenceName”列,则将其重命名为“licenceNameX”。您也可以通过这种方式进行调试。这些表是如何关联的?您是否尝试过viaTable功能?