簡體   English   中英

Yii2使用hasMany關系獲取數據

[英]Yii2 get data using hasMany relation

我有一個查詢$occupier從表中獲取所有ID(10和16)。 問題是我應該如何將其放在activeDataProvider查詢中,以便可以獲取所有傳遞的ID,因為我無法在查詢中進行foreach循環。

關系:

public function getop_occupier()
    {
        return $this->hasMany(OpOccupier::classname(),['id'=>'unit_id']);
    }

控制器:

$occupier = OpOccupier::find()
                ->where(['unit_id'=>$id])
                ->all();


$dataProviderTranscation = new ActiveDataProvider([
'query' => OpOccupierTrxGroup::find()->where(['or','occupier_id'=>10,'occupier_id'=>16]),]);

我試過了:

$dataProviderTranscation = new ActiveDataProvider([
    'query' => OpOccupierTrxGroup::find()->where(['occupier_id'=>$occupier['id'])->all();

它返回錯誤的未定義索引ID。

任何幫助或建議,將不勝感激。 謝謝

您可以使用lefJoin關系來聯接表

$dataProviderTranscation = 
 new ActiveDataProvider([
'query' => 
      OpOccupierTrxGroup::find()
       ->where(['op_occupier'=>$occupier['id'])
       ->andWhere(['occupier.id'=>[10,16]])
       ->leftJoin('occupier','occupier.id=op_occupier_trx_group.occupier_id')
       ->all();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM