2016-04-17 6 views
-1

私は、データベーステーブル 'cat_ralation'Yii2:クエリビルダで更新フィールドエラー不明列

CREATE TABLE IF NOT EXISTS `cat_relation` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
`cat_id` int(11) NOT NULL, 
`obj_id` int(11) NOT NULL, 
`obj_type` varchar(20) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

挿入データ

id = 1, 
cat_id = 2, 
obj_id = 3, 
obj_type = product 

Qyeryビルダーを持っている

Yii::$app->db 
    ->createCommand() 
    ->update('cat_relation',['cat_id'=>3], 'obj_id = 3 AND obj_type = product') 
    ->execute(); 

エラー

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'product' in 'where clause' 
The SQL being executed was: UPDATE `cat_relation` SET `cat_id`=2 WHERE obj_id = 4 AND obj_type = product 
+0

のようにそれを作ります\ ''? –

+0

PyYAMLとの関係はどこですか?あなたの例ではYAMLは表示されません。あなたの実際の質問は何ですか? – Anthon

+0

あなたのプロジェクトはyii2のようです – Midhun

答えて

0

私はPyYAMLとについて何も知らないしませんが、あなたは、 `` "製品" や `` \ 'の製品のように引用符でproduct`を引用してはならない

Yii::$app->db 
    ->createCommand() 
    ->update('cat_relation',['cat_id'=>3], "obj_id = 3 AND obj_type = 'product'") 
    ->execute(); 
関連する問題