Можно ли найти столбцы с использованием нескольких значений в Doctrine и Symfony2?

image у меня есть следующая структура базы данных

class voters
{
    protected $voterid;
    protected $imageid;
    protected $action;
}

// $voterid = is the current voter
// $imageid = is the id of the voted image
// $action = is upvote/downvote,delete

что произойдет, если я хочу искать сразу несколько наименований, чтобы проверить, если столбец существует , что-то вроде

$dummy = findOneBy('voterid'=>1,'imageid'=>2,action=>"upvote");

if($dummy)
{
   //column exists!
}

это возможно?

2 ответов


посмотреть базы данных и доктрине

Если вы хотите получить продукт, относительно некоторых свойств, вам просто нужно использовать метод findOneBy с параметрами массива:

$product = $repository->findOneBy(array('name' => 'foo', 'price' => 19.99));

вы должны передать все значения в виде массива следующим образом:

$dummy = $this->getDoctrine()->getRepository("AcmeDemoBundle:User")->findOneBy(array(
    'voterid'=>1,
    'imageid'=>2,
    'action'=>'upvote',
));

if($dummy)
{
   //column exists!
}

где key of array-имя столбца, value - значение в этом столбце.

Примечание: AcmeDemoBundle:User - это ваша сущность