当我关注this tutorial并尝试部分时,左连接失败。我不知道为什么,请告诉我解决。
控制器中的此代码:
public function actionGetSka($kodeSka)
{
$query = new Query;
$query->select(['ska.no_ska','ska.tgl_ska','ska.kode_anak_asuh','anak_asuh.kode_calon','calon.nama_calon','ska.kode_calon_keluarga_asuh','calon_keluarga_asuh.nama','calon_keluarga_asuh.jenis_kelamin','calon_keluarga_asuh.pekerjaan','calon_keluarga_asuh.alamat'])
->from('ska')
->join('LEFT JOIN', 'anak_asuh',
'anak_asuh'.'kode_anak_asuh' = 'ska'.'kode_anak_asuh')
->join('LEFT JOIN', 'calon_keluarga_asuh',
'calon_keluarga_asuh'.'kode_calon_keluarga_asuh' = 'ska'.'kode_calon_keluarga_asuh')
->join('LEFT JOIN', 'calon',
'calon'.'kode_calon' = 'anak_asuh'.'kode_calon')
->limit(2);
$command = $query->createCommand();
$data = $command->queryAll();
echo Json::encode($kodeSka);
}
答案 0 :(得分:2)
连接中的表名周围的错误引用
您应该使用'anak_asuh.kode_anak_asuh' = 'ska.kode_anak_asuh'
代替
'anak_asuh'.'kode_anak_asuh' = 'ska'.'kode_anak_asuh'
public function actionGetSka($kodeSka)
{
$query = new Query;
$query->select(['ska.no_ska'
,'ska.tgl_ska'
,'ska.kode_anak_asuh'
,'anak_asuh.kode_calon'
,'calon.nama_calon'
,'ska.kode_calon_keluarga_asuh'
,'calon_keluarga_asuh.nama'
,'calon_keluarga_asuh.jenis_kelamin'
,'calon_keluarga_asuh.pekerjaan'
,'calon_keluarga_asuh.alamat'])
->from('ska')
->join('LEFT JOIN', 'anak_asuh', 'anak_asuh.kode_anak_asuh' = 'ska.kode_anak_asuh')
->join('LEFT JOIN', 'calon_keluarga_asuh', 'calon_keluarga_asuh.kode_calon_keluarga_asuh' = 'ska.kode_calon_keluarga_asuh')
->join('LEFT JOIN', 'calon', 'calon.kode_calon' = 'anak_asuh.kode_calon')
->limit(2);
$command = $query->createCommand();
$data = $command->queryAll();
echo Json::encode($kodeSka);
}
答案 1 :(得分:1)
试试这个:
public function actionGetSka($kodeSka)
{
$query = new Query;
$query->select(['ska.no_ska','ska.tgl_ska','ska.kode_anak_asuh','anak_asuh.kode_calon','calon.nama_calon','ska.kode_calon_keluarga_asuh','calon_keluarga_asuh.nama','calon_keluarga_asuh.jenis_kelamin','calon_keluarga_asuh.pekerjaan','calon_keluarga_asuh.alamat'])
->from('ska')
->leftJoin('anak_asuh','anak_asuh.kode_anak_asuh = ska.kode_anak_asuh')
->leftJoin('calon_keluarga_asuh','calon_keluarga_asuh.kode_calon_keluarga_asuh = ska.kode_calon_keluarga_asuh')
->leftJoin('calon','calon.kode_calon = anak_asuh.kode_calon')
->limit(2);
$command = $query->createCommand();
$data = $command->queryAll();
echo Json::encode($kodeSka);
}