php - laravel 查询生成器中的 SUBSTR 返回错误
问题描述
我在这里使用查询构建器和 mysql 函数有一个查询substr
,我的问题是它返回一个错误A non-numeric value encountered
。有人可以知道这是什么解决方案吗?谢谢。
我的数据是1-Course 101
,我只想得到Course 101
忽略1-
数据库中的部分。
我试过的查询
我雄辩的询问
$items2 = Course::where('school_id','=',Auth::user()->school_id)
->where(\DB::raw('SUBSTR(name, LOCATE('-', name) + 1)'))
->where('status','=',1)
->get();
查询生成器
$items3 = \DB::table('courses')
->where('status', '=', 1)
->where('school_id','=',Auth::user()->school_id)
->where(\DB::raw('SUBSTR(name, LOCATE('-', name) + 1)'))
->get();
它仍然返回错误A non-numeric value encountered
。
解决方案
尝试这个。
问题是字符串连接。在问题中,DB:raw
是
\DB::raw('SUBSTR(name, LOCATE('-', name) + 1)')
'-'
打破字符串。这就是问题所在。
$items2 = Course::select(\DB::raw("SUBSTR(name, LOCATE('-', name) + 1)"))
->where('school_id','=',Auth::user()->school_id)
->where('status','=',1)
->get();
或者
$items2 = Course::selectRaw("SUBSTR(name, LOCATE('-', name) + 1)")
->where('school_id','=',Auth::user()->school_id)
->where('status','=',1)
->get();
推荐阅读
- json - pandas 将数据帧写入 to_json 方法替代
- python - 当“源bin/activate”不起作用时为python激活虚拟环境?
- ios - 新请求场景的 NSUserActivity 没有用户信息
- c++ - 模拟输入改变 RGB 颜色
- r - R:我如何在复制中模拟时间序列数据,直到满足某些条件
- vb.net - 如何在 vb.net 中使用字符串变量设置消息框图标
- mysql - 有没有办法用 LOAD DATA LOCAL INFILE 覆盖表?
- mysql - 如何永久/强制删除 rds/aurora 上的 mysql 数据库
- typescript - 检查泛型函数参数中的类型并返回此参数的对象字面量类型
- c# - 在 .Net Core AppSettings / 配置中处理带有句点的键名