私のコードを失敗している:私はそれを実行したときにsymfonyのDoctrineの更新クエリは
$query = $em->createQuery("UPDATE AppBundle:Project u SET u.name=1, u.key=?2, u.leader=?3 WHERE u.id = ?4");
$query->setParameter(1, $project->name);
$query->setParameter(2, $project->key);
$query->setParameter(3, $project->lead->name);
$query->setParameter(4, $project->id);
$result = $query->getResult();
今、それは私にエラーを与える:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key = 'EIAD', leader = 'fake.name' WHERE id = '12305'' at line 1
私は私がここで間違ってやっているかを把握傾けます。 私も似たオブジェクトの更新を試してみました:
$project->setname();
など
編集:コードは、自己作成したコマンドで使用されていると言って忘れてしまいました!
$ query-> getSql();結果を表示します。 – svgrafov
私はそれが問題を解決するとは思わないが、 'u.name = 1'に'? 'がありません。 'u.name =?1'でなければなりません。 –
@JakubMatczak忘れてしまったが、同じエラーがまだ残っていた – Nubcake