2017-05-12 3 views
0

私はYii v.1 MysqlでLEFT結合をしようとしています。 アルデリー4テーブルが参加しており、このテーブルにも参加したいと思います。Yii v1左結合がCDbExceptionを与える

それは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. 

を与えている

$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')); 

私は(phpmyadminの)MySQLで

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

をこのクエリを試してみましたが、私はYiiのにしようとすると、それはない、適切なoutput.BUtを示しています。

+0

例外の一部が欠落しています。 SQLSTATE [42000]:構文エラーまたはアクセス違反:1064 SQL構文にエラーがあります。あなたのMariaDBサーバのバージョンに対応するマニュアルをチェックしてください** **正しい構文が近くで使用するために** – Gihan

+0

@ G45はい、7つのテーブルが使用されているので大きな例外がありますが、例外。私はそれがあなたに明確なアイデアを与えることを願って – Mukesh

+0

与えられたコードは問題なく動作します。ここに投稿していないコードでなければなりません。 $ selectString構築ステップを再度確認し、エラーメッセージを詳細に調べます。それで問題が見つかるかもしれません。適切な詳細がなければ答えられません。 – Gihan

答えて

0

解決策が見つかりました。実際には、前の$ selectStringクエリの終了後にカンマ(、)が見つかりませんでした。