在 where 子句中使用不等于 cakephp

问题描述

为什么这不起作用?

我想显示哪些文件

  1. 可用(在我的情况下是 = 0)
  2. 所有人(隐私设置,在我的情况下为 =1)
  3. 不等于文件的作者

它不会向我显示创建它的用户的任何内容,它应该显示一个文件 在这些条件下

似乎我在 'Files.user_id !=' => $auth->user_id 中遇到了问题,但我不知道它有什么问题

$filesTable->find('all')->where(['available' => 0,'Privacy.privacy_id' => 1,'Files.user_id !=' => $auth->user_id])->contain(['Users','Privacy'])->toArray();

这些都没有显示 click here

解决方法

要在查询中包含 null ID,您需要明确匹配:

$filesTable->find('all')->where([
    'available' => 0,'Privacy.privacy_id' => 1,'OR' => [
        'Files.user_id !=' => $auth->user_id,'Files.user_id IS' => null,],])->contain(['Users','Privacy'])->toArray();

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...