laravel - 如何用查询中的字符串替换字段的空值
问题描述
我有一个名为访问的表,在其中保存访问过的页面。它包含一个名为 user_id 的列,如果用户通过身份验证,我会保存他的 id,否则我将其设置为 null。
我想用查询中的单词“visitor”替换所有user_id null。
基于此 sql 示例How to replace null with string when column is datatype int我进行了以下查询:
// ..............
$builder->select('visits.*', DB::raw("ISNULL(str(user_id), Visitor) as name"));
但我得到这个错误:
Illuminate\Database\QueryException: SQLSTATE[42000]: 语法错误或访问冲突:1582 调用本机函数“ISNULL”时参数计数不正确(SQL:选择 count( ) 作为聚合来自 (select
visits
. , ISNULL(str(user_id) , 访客) 作为名字来自visits
解决方案
推荐阅读
- python - Python:如何将用户输入元素附加到空列表
- laravel - 仅在发送标头时出现 Cors
- python - python制表:显示特定值的空白单元格
- python - 预期 2D 数组,得到 1D 数组。错在哪里?
- php - 为什么 strcasecmp 使用数组和字符串返回 true?
- r - 一起使用 select 和 stringr
- macos - 如何更改 NavigationView 分隔符/分隔符(SwiftUI 和 MacOS)的颜色?
- html - 如何使整个区域可点击
- javascript - 移动到新页面后无法使用 Document 方法
- html - 图像后面的 CSS 圆圈占据整个容器宽度