So zeigen Sie Daten aus verknüpften Tabellen in CGridview in yii an

Ich versuche, die Ergebnisse mit CGridView anzuzeigen. Ich habe zwei TischeBenutzer undProdukte. ExiProducts ist die Tabelle, die die Viele-zu-Viele-Beziehung zwischen dann aufrechterhält, und der Beziehungsname ist 'Meine Beziehung'.

public function actionSearch() {   
   if(isset($_GET['searchButton'] && $_GET['searchType']==='products') {
       $searchString=  trim(strip_tags($_GET['searchValue']));
       $model=new Products;
       $criteria->compare('productName', $searchString, TRUE, 'AND', TRUE);
       $criteria->compare('productType',$searchString,true,'OR',TRUE);
       $criteria->compare('productBrand',$searchString,true,'OR',TRUE);
       $criteria->compare('description',$searchString,true,'OR',true);

       $dataProviderObj=new CActiveDataProvider($model, array(
           'criteria'=>$criteria,
       ));  


   }

   $this->render('search',array(
       'dataProviderObj'=>$dataProviderObj,
        'model'=>$model,

   ));

}

Das ist meinview.php

 $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'users-grid',

        'dataProvider'=>$dataProviderObj,
        'columns'=>array(

            'productName',
            'productType',
            'productBrand',
            'description',
                    'I WANT THE NAME OF EVERY USER THAT CREATED THIS PRODUCT 
 HERE WHICH IS IN THE USERS TABLE '

        ),
 ));

Kann mir jemand bitte sagen, wie ich den Namen der Benutzer erhalte, die diese Produkte dort herstellen. Spalten inBenutzer Tisch sind

UserId,
Username

undExiProducts sind

UserId,
ProductId

Mein Code wurde aktualisiert

public function gridCreateUser($data,$row) {
     $myproducts=array();

     $user = $data->userId;
     $records= Users::model()->with('usersproducts')->findAll('userId=:userId',array(':userId'=>$user));
        foreach($records as $record)
        {
            foreach($record->usersproducts as $productis)
            {
                $myproducts[]=$productis->productName;
            }

        }
        return $myproducts;


}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage