0

リクエストから渡された複数の値に基づいて、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();
    }

私は何を理解できていないのですか?

4

1 に答える 1