- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找不到解决方案...我们有 mysql 表
`users`
id | username
1 Mike
2 John
3 Jane
`roles`
userID | roleID
1 2
1 3
3 1
所以问题是 - 我需要在一个查询中选择所有没有特定 roleID 的用户。此外,用户在角色中可以没有任何关系(例如 John 没有任何 roleID,因此应在所有查询中选择他)。
简单的查询是当用户拥有某个角色 ID 时(我们可以使用 ->joinWith() 检查它) - 但我需要反转此查询,选择具有除一个角色 ID 之外的任何其他角色的所有用户。
问题是我们有 oneToMany (用户->角色)关系,而 Yii2 ->joinWith() 没有以正确的方式工作(正如我所想,我希望我是错的)。
有人可以帮忙解决吗?
最佳答案
如果用户模型具有“角色”关系,并且 $excludedRoleId 是排除的 roleId,则返回没有角色的用户或角色不是 $excludedRoleId 的用户
User::find()
->joinWith(['roles'])
->where('roles.userID IS NULL OR roles.userID NOT IN ( SELECT userID FROM roles WHERE roleID = :roleId)', [':roleId' => $excludedRoleId])
->all();
关于mysql - Yii2、ActiveQuery、subQuery 没有带 ID 的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39500823/
您能否提供一个示例用法。描述将不胜感激。我找不到一个很好的例子。 最佳答案 Active Query表示与 Active Record 关联的数据库查询类(class)。它通常用于覆盖特定模型的默认
情况 我有三个与1:n相关的模型/数据库表:order具有多个commissions,而佣金具有多个commission_positions。因此,佣金位置具有包含佣金ID的FK字段。佣金本身有一个包
我需要从数据库中选择所有记录,其中列值不等于同一行的另一个记录。在 SQL 中,它看起来像这样: SELECT * FROM `user` WHERE (`created_at` != `logged
我有两个表:Notes 和 Accounts。一个笔记可以有多个账户。我试图获取 2015 年 1 月 1 日之后创建的某种类型的所有笔记。我还想使用 ActiveQuery 的 .joins 函数同
我有一个 Comments 表,其中有 parent_id 外键指向自身以启用线程评论。 Comments id INT UNSIGNED NOT NULL parent_id INT UNSIGNE
我想在 ActiceRecord 扩展的类中的 hasMany 函数中的 $link 数组中使用 OR 运算符。例如,我想获取与用户帐户相关的交易。在 sql 中,它类似于 SELECT * FROM
该查询有什么问题? $numery = Number::find() ->select('number.phone_number') ->from('number')
在 Yii2 上,我在 ProjectQuery 中有此代码 class ProjectQuery extends \yii\db\ActiveQuery { public function
我有一个任务 - 添加到按全名搜索的搜索模型。全名是名字+姓氏。所以我需要构建像这样的查询 WHERE first_name LIKE '%var%' OR last_name LIKE '%var%
基本上我在 mysql 中有一个遗留查询,我将在 ActiveRecord 中实现它, Legacy Way,正如预期的那样 SELECT a.container_seal, a.size ,
有没有办法从查询中获取所有连接表? 例如: query = Account::find()->joinWith(['gallery'])->joinWith(['articles'])->etc...
不确定标题是否完全描述了问题,无论如何,情况如下:假设我有一个如下所示的 ActiveQuery 后代类: class OrderQuery extends ActiveQuery { pub
我有如下两张表 暂停表: CREATE TABLE `halte` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(255) NO
我找不到解决方案...我们有 mysql 表 `users` id | username 1 Mike 2 John 3 Jane `roles` userID | ro
我正在尝试使用本教程创建一个小的 CRUD 应用程序: http://www.yiiframework.com/wiki/490/creating-a-simple-crud-app-with-yii
使用带有某些参数的 JSP 页面的主动查询下载数据会导致字符问题。德语中的特殊字符(例如 ö、ä、ß)会打印为 Á¶、ɤ 和 É。 用Java调试JSP页面,结果显示JSP页面返回的结果是正确的。因
我是一名优秀的程序员,十分优秀!