- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个实体 - Lawyer 和 Category。它们与多对多关联相关联。假设示例律师有 3 个类别。我想创建按类别数组搜索律师的函数,它应该只返回具有数组中所有类别的律师。
class Lawyer {
//...
/**
* @ORM\ManyToMany(targetEntity="Dees\KancelariaBundle\Entity\Category")
* @ORM\JoinTable(name="lawyers_has_categories",
* joinColumns={@ORM\JoinColumn(name="lawyer_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="id")}
* )
*
* @var ArrayCollection
*/
protected $categories = null;
//...
}
class Category {
//...
/**
* @ORM\Column(length=255, nullable=true)
*
* @var string
*/
protected $name;
//...
}
public function searchLawyers(array $categories) {
$queryBuilder = $this->createQueryBuilder('lawyer')
->join('lawyer.categories', 'category');
$queryBuilder->andWhere("category.name = :category1");
$queryBuilder->setParameter("category1", "First category");
$queryBuilder->andWhere("category.name = :category2");
$queryBuilder->setParameter("category2", "Second category");
//...
//won't work, return null, but lawyer with these categories exists.
}
我怎样才能实现这样的目标?
最佳答案
我想通了:
public function searchLawyers(array $categories) {
$queryBuilder = $this->createQueryBuilder('lawyer')
->join('lawyer.categories', 'category');
$queryBuilder->andWhere("category.name in (:categories)");
$queryBuilder->setParameter("categories", $categories);
$queryBuilder->addGroupBy("lawyer.id");
$queryBuilder->andHaving("COUNT(DISTINCT category.name) = :count");
$queryBuilder->setParameter("count", sizeof($categories));
return $queryBuilder->getQuery()->getResult();
}
关于php - Symfony 2,QueryBuilder,具有相同参数的多个andWhere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271230/
我的查询有问题 当我像下面这样运行它时,我会得到所有组织的所有组和项目(表项目)。其含义是仅从 org_id 及其可见位置获取组。 return $this->model->with( [ 'item
我有这个数据库设置: 产品 ID [字段...] 标签 ID [字段...] 产品标签 ID 产品 ID tag_id 如果我的数据库中有此记录 产品 产品 A [id:1] 产品 B [id:2]
我有一个 id 数组。 我需要获取该集合中名称等于“red”的行 类似: whereIn('id',[1,2,3]) andWhere (name='red') 提前致谢。 最佳答案 试试这个 Tab
我有两列 used 和 maxUsed,我想比较这些列。 这是我的代码(Yii2): ...->andWhere(['or', ['maxUse' => 0] , [ 'andWhere('maxUs
在标记为重复问题之前,请阅读它。我在这里有不同的问题。我想使用 yii2 搜索模型生成这种查询。 select * from t1 innerjoin t2 on (t1.id = t2.id) wh
我需要使用 foreach 语句通过 Doctrine QueryBuilder 创建一个查询,目前使用了以下语句但不是最正确的: // $query object foreach ($searche
我有一个 Yii2 查询,但我遇到了 orWhere Yii 语句的问题。 我需要以下人员: 年龄在 21 岁以下。 OR 年龄在 21 岁以上 AND 名字是 John。 这是我的代码。我不知道如何
不确定标题是否完全描述了问题,无论如何,情况如下:假设我有一个如下所示的 ActiveQuery 后代类: class OrderQuery extends ActiveQuery { pub
我在存储库类中使用以下方法来查找数据库中的某些标签: public function getItemsByTag($tag, $limit = null) { $tag = '%'.$tag.
我已经使用条件语句进行了一次查询。 $query = Student::find() ->where('status=1'); if(isset($pa
WHERE a = 1 AND (b = 1 Or b = 2) AND (c = 1 OR c = 2) 我怎样才能在 Doctrine 中做到这一点? $q->where("a = 1"); $q
我有一个问题: $q->andWhere($q->getRootAlias().'.is_published = ?', 1); $q->andWhere($q->getRootAlias().'.p
我有这个 Knex 查询: const customerProducts = db.sequelize.knex.select([ 'CustomerProduct.id AS _id',
我喜欢在两个相关的 Yii2 模型 上选择特定的相关数据。两个模型都陷入1:n关系。关系运转良好! 订购型号: @property 整数 $id 订单模型关系定义: /** * @return \y
在 Doctrine 中,当使用 QueryBuilder 构建查询时,是否必须使用 $qb->where() 定义第一个 where 子句,或者我可以使用 $qb->andWhere() 直接。例如
我正在使用 yii 2,我编写了查询以使用 andWhere 和 orWhere 从表中获取记录,但结果令人困惑。让我告诉你我面临的问题。我的查询是 Mission::find()->where(['
SELECT * FROM dg WHERE ( a 1) OR ( a > 1 AND ( (c = 3 AND B 1 Or b=2) A
我对我在 CakePHP 3 文档查询生成器的高级条件中读到的内容感到困惑:https://book.cakephp.org/3.0/en/orm/query-builder.html#advance
我想用 Doctrines Criteria 创建一个相当复杂和灵活的查询。我有一个包含在每个查询中的 andWhere,但后来(取决于输入)我想用 orWhere 添加一些可选参数。 $criter
我是一名优秀的程序员,十分优秀!