【发布时间】:2020-06-21 07:38:11
【问题描述】:
$this->model
->join('user_credentials', 'upload_conversions.user_id', '=', 'user_credentials.user_id')
->select(
'upload_conversions.id',
'upload_conversions.status',
'upload_time',
'user_credentials.user_id',
DB::raw('CONCAT(user_credentials.first_name, " ", user_credentials.last_name) as user_name')
)
->where('upload_conversions.status', '!=', 'x')
->groupBy('upload_time')
->get();
在上面的查询中,我似乎无法在 where 子句中使用 Laravel 雄辩的字段“状态”。
请注意“!=”,字符串包含的内容无关紧要。如果我更改使用任何其他字段的位置,则查询会正常工作。
我似乎找不到任何答案,我不敢相信我是第一个在 where 子句中使用字段名称“状态”的人。
那我做错了什么?
更新: 问题是我没有得到任何错误,但也没有结果。它应该有很多结果。更改 where 中的字段会产生结果..
更新: 这是因为 NULL 值。 SQL 中的 NULL 也不应该是字符串,为什么这不起作用?这是 Laravel 的错误吗?
答案:
->where('upload_conversions.status', '!=', 'test')
->orWhereNull('upload_conversions.status')
真的很难看,但这有效。
【问题讨论】:
-
您遇到什么样的错误?也请张贴截图。
-
没有错误,也没有结果,更新了我的问题