リクエストから渡された複数の値に基づいて、1 つのテーブルに対して単純なクエリを実行しようとしていますが、経験豊富な人には明らかな何かが欠けています。
これは動作しません:
public function showAction(Request $request)
{
if ($request->getMethod() == 'GET') {
$id = $request->get('locationid');
$kfType = $request->get('type');
$em = $this->getDoctrine()
->getManager();
$data = $em->createQueryBuilder()
->select('d')
->from('DashDataBundle:Data', 'd')
->where('d.locationid = :locationid' AND 'd.kfType = :kfType' )
->setParameters(array('locationid'=> $id,'kfType'=> $kfType))
->setMaxResults(100)
->getQuery()
->getResult();
}
エラーは次のとおりです:
警告: get_class() は、パラメーター 1 がオブジェクトであると想定し、ブール値は /Applications/MAMP/htdocs/path/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Expr/Base.php 行 89 で指定されます
ただし、これは 1 つのパラメーターでのみ機能します。
public function showAction(Request $request)
{
if ($request->getMethod() == 'GET') {
$id = $request->get('locationid');
$kfType = $request->get('type');
$em = $this->getDoctrine()
->getManager();
$data = $em->createQueryBuilder()
->select('d')
->from('DashDataBundle:Data', 'd')
->where('d.locationid = :locationid')
->setParameter('locationid', $id)
->setMaxResults(100)
->getQuery()
->getResult();
}
私は何を理解できていないのですか?