我如何通过学说获得除一个之外的所有数据?

时间:2018-11-26 12:59:26

标签: symfony oop doctrine entity findall

我正在通过理论获取数据:

$pages = $this->getDoctrine()->getRepository(Pages::class)->findAll();

我要获取的是所有数据,但有{cat的数据除外

所以我试图实现这样的目标:

$pages = $this->getDoctrine()->getRepository(Pages::class)->findAllExcept(['slug'=>'cat']);

1 个答案:

答案 0 :(得分:3)

使用自定义存储库类是一个好习惯。

<?php

namespace AppBundle\Repository;

use AppBundle\Entity\Pages
use Doctrine\ORM\EntityRepository;

class PagesRepository extends EntityRepository
{
    /**
     * @param $slug
     * @return Pages[]
     */
    public function findAllExceptThis($slug)
    {
        return $this->createQueryBuilder('pages')
            ->andWhere('pages.slug != :slug')
            ->setParameter('slug', $slug)
            ->getQuery()
            ->execute();
    }
}