2017-05-12 6 views
0

Yii v.1 Mysql에서 LEFT JOIN을 시도하고 있습니다. alreday 4 테이블이 조인되어 있으며이 테이블에도 가입하고 싶습니다.Yii v1 Left join주는 CDbException

$cmd = Yii::app()->db->createCommand(); 

$selectString .= "table2.dir_pic, table2.pic1, table2.pic2 , table2.pic3 "; 


$cmd->select($selectString); 
    $cmd->from('table1'); 

$cmd->leftjoin('table2', 'table1.id=table2.user_entry_id'); 
$entries = $cmd->queryAll(); 
     $this->render('index', compact('entries', 'model')); 

그것은 내가

SELECT table1.id,table2.dir_pic,table2.pic1,table2.pic2, table2.pic3 FROM 
table1 LEFT JOIN table2 ON table1.id = table2.user_entry_id 

MySQL은 (phpMyAdmin을)이 쿼리는 해당 CDBException

CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '.`dir_pic`, `table2`.`pic1`, `table2`.`pic2`, ' at line 1. 

을 시도주고 내가 YII에 시도 할 때 적절한 output.BUt을하지 보여줍니다.

+0

예외의 일부가 누락되었습니다. _CDbCommand가 SQL 문을 실행하지 못했습니다. SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1064 SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서를 확인하십시오. ** ** 올바른 구문이 근처에서 사용됩니다. ** – Gihan

+0

@ G45 예. 7 개의 테이블이 사용되면 큰 예외가 있지만, 예외. 희망을 분명히 줄 수 있기를 바랍니다. – Mukesh

+0

주어진 코드는 문제없이 작동합니다. 여기에 게시하지 않은 코드가 있어야합니다. $ selectString 빌드 단계를 두 번 점검하고 오류 메시지를 자세히 검토하십시오. 그런 다음 문제를 발견 할 수 있습니다. 적절한 세부 정보 없이는 대답 할 수 없습니다. – Gihan

답변

0

해결책을 찾았습니다. 사실 나는 이전 $ selectString 쿼리가 끝난 후에 쉼표 (,)를 놓쳤습니다.