2016-09-05 4 views
0

は、私はこのようなSQL文を持っている:連結エラーSQL

$queryBuilder0 = " 
SELECT molecule.molecule, molecule.cas, molecule.statutvlep8h, molecule.statutvlepct, 
     molecule.vlep8hMg, molecule.vlepctMg,molecule.unitevlep, IDENTITY(prelevement.laboratoire) 
FROM AppBundle:Molecule molecule 
INNER JOIN AppBundle:Prelevement prelevement 
WHERE prelevement.molecule= molecule.id 
"; 

私はSQLのように、このステートメントにCONCATたいです。だから私は書く:

$queryBuilder0 = $queryBuilder0.'WHERE molecule.cas LIKE '%$data->value%' '; 

しかし、私が何をしようとすると、私はsymfonyのエラーを得た:

$this->_em->createQuery($queryBuilder0)->getResult(); 

私はどのように行うことができますか?

+0

エラーは何ですか? – DOZ

答えて

1

文字列と拡張クエリに単一のスピーチマークを使用しました。あなたのストリングを区切ることはすべてあなたの使い方です。

簡単な修正は、あなたが $queryBuilder0 =$queryBuilder0.' WHERE molecule.cas LIKE \'%$data->value%\'「を引用し

$queryBuilder0 =$queryBuilder0." WHERE molecule.cas LIKE '%$data->value%' "; 

をダブルスピーチマークを使用するか、エスケープするだろう。

変数を再フォーマットしないでxtraビットを追加するだけです。

$queryBuilder0 .= " WHERE molecule.cas LIKE '%$data->value%' ";