Junction table not working in gridview


modelsearch.php


<?php

$query->select("users.*,userlanguage.*,languages.*");

        $query->joinWith(["user"=>function($a){$a->from("users user");}]);

        $query->joinWith(["userslanguage"=>function($<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='B)' />{$b->from("userlanguage userslanguage");}]);

        $query->joinWith(["languages"=>function($c){$c->from("language languages");}]);




model.php




php

public function getUser(){

        return $this->hasOne(Users::className(), ['userID' => 'userID']);

    }

     public function getUserslanguage()

    {

        return $this->hasMany(Userlanguage::className(), ['userID' => 'userID']);

    }

    

    public function getLanguages(){

         return $this->hasMany(Language::className(), ['languageID' => 'languageID'])

            ->viaTable('userlanguage', ['userID' => 'userID']);

    }




index.php





<?= GridView::widget([

        'dataProvider' => $dataProvider,

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],

                  'user.userEmail:email',

                  'languages.languageID',

                  'user.userName',

                  'user.userMobile',

                  'user.userGender',

                  'languages.languageName',

      ['class' => 'yii\grid\ActionColumn'],

]);

?>