Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
Mysql 在CActiveDataProvider上使用4表进行yii查询_Mysql_Yii_Cactivedataprovider - Fatal编程技术网

Mysql 在CActiveDataProvider上使用4表进行yii查询

Mysql 在CActiveDataProvider上使用4表进行yii查询,mysql,yii,cactivedataprovider,Mysql,Yii,Cactivedataprovider,嗨,主人,我有四张桌子 -佩加维 -佩尼莱安 -大学 -朱鲁桑 我通常使用 SELECT u.nama_univ, j.singkatan, peg.* FROM pegawai AS peg LEFT JOIN penilaian AS pen ON pen.no_test=peg.no_test LEFT JOIN universitas AS u ON u.id=peg.univ_s1 LEFT JOIN jurusan AS j ON j.id=peg.bidang_s1 如

嗨,主人,我有四张桌子

-佩加维 -佩尼莱安 -大学 -朱鲁桑

我通常使用

    SELECT  u.nama_univ, j.singkatan, peg.* FROM pegawai AS peg LEFT JOIN penilaian AS pen ON pen.no_test=peg.no_test LEFT JOIN universitas AS u ON u.id=peg.univ_s1 LEFT JOIN jurusan AS j ON j.id=peg.bidang_s1
如何将此查询转换为yii

我试过这个代码,但效果不好

$dataProvider = new CActiveDataProvider('Pegawai', array(
    'criteria' => array(
        'select' => array(
            '`pen`.*',
            '`u`.`nama_univ` AS `nama_univ`',
            '`j`.`singkatan` AS `singkatan`'
        ),
        'join' => 'JOIN `Penilaian` AS `pen` ON `pen`.`no_test` = `t`.`no_test`',
        'join' => 'JOIN `Universitas` AS `u` ON `u`.`id` = `t`.`no_test`',
        'join' => 'JOIN `Jurusan` AS `j` ON `j`.`id` = `t`.`no_test`',
    )
));

但是只有一个连接有执行

做一件事你只需要像这样打印criteria对象

$dataProvider = new CActiveDataProvider('Pegawai', array(
    'criteria' => array(
        'select' => array(
            '`pen`.*',
            '`u`.`nama_univ` AS `nama_univ`',
            '`j`.`singkatan` AS `singkatan`'
        ),
        'join' => 'JOIN `Penilaian` AS `pen` ON `pen`.`no_test` = `t`.`no_test`',
        'join' => 'JOIN `Universitas` AS `u` ON `u`.`id` = `t`.`no_test`',
        'join' => 'JOIN `Jurusan` AS `j` ON `j`.`id` = `t`.`no_test`',
    )
));
echo "<pre>";
print_r($dataProvider);   //Check the object or try to post it below
exit();

您已为数组“join”的同一索引分配了3个值,因此只存储最后一个值

尝试:


你们为你们的桌子做了模型吗?是的,我做了。但是我把数组关系搞混了你试过什么?人们帮助你编写代码,他们通常不会为你编写代码。嗨,Mihai,我编辑了我的帖子。请检查一下
$dataProvider = new CActiveDataProvider('Pegawai', array(
'criteria' => array(
    'select' => array(
        '`pen`.*',
        '`u`.`nama_univ` AS `nama_univ`',
        '`j`.`singkatan` AS `singkatan`'
    ),
    'join' => 'JOIN `Penilaian` AS `pen` ON `pen`.`no_test` = `t`.`no_test` JOIN `Universitas` AS `u` ON `u`.`id` = `t`.`no_test` JOIN `Jurusan` AS `j` ON `j`.`id` = `t`.`no_test`',
)
));