Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii2不加入';t在GridView中返回正确的id值_Php_Mysql_Join_Yii2 - Fatal编程技术网

Php yii2不加入';t在GridView中返回正确的id值

Php yii2不加入';t在GridView中返回正确的id值,php,mysql,join,yii2,Php,Mysql,Join,Yii2,我没有得到正确的id,我得到的id值0,1,2,3 如果我不指定上面的联接查询,则id返回正确的值 但是如果我指定另外两个表的联接,它将返回错误的id 这是gridview echo GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [

我没有得到正确的id,我得到的id值0,1,2,3 如果我不指定上面的联接查询,则id返回正确的值 但是如果我指定另外两个表的联接,它将返回错误的id 这是gridview

echo GridView::widget([
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,
            'columns' => [
                ['class' => 'yii\grid\SerialColumn'],

                'type',

                'name',
                'gsm',
                'email',
                'w_exp',
                'course',

                ['class' => 'yii\grid\ActionColumn'],
            ],
        ]);
这是搜索模型功能

public function search($params)
        {

            $query = RegTab::find()

            ->join('LEFT JOIN', 'train_tab', 'train_tab.id = reg_tab.training')
              ->join('LEFT JOIN', 'type_tab', 'type_tab.id = train_tab.type')
            ->select(['reg_tab.id as id','reg_tab.f_name as name', 
                    'reg_tab.gsm as gsm','reg_tab.email as email', 'reg_tab.w_exp as w_exp', 
                    'train_tab.course as course']);

            $dataProvider = new ActiveDataProvider([
                'query' => $query,
            ]);
我没有得到正确的id,我得到的id值0,1,2,3 如果我不指定上面的联接查询,则id返回正确的值
但是,如果我指定另外两个表的联接,它将返回错误的id进行调试,使用
$query->createCommand()->getSql()
获取sql并将其运行到MySQL中。检查这是否是您想要的查询。由于我看不到您这样做的任何地方,您在哪里显示ID,您确定您没有看到序列列并认为这是ID吗?