2016-02-01 26 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']);