我试图弄清楚为什么DB :: raw()查询以小写形式发送?
Query = DB::('table_name')->select(['is_read as isRead'])->get();
Result = [{ isRead: true }]
但是当我进行原始处理时,会将其转换为小写
Query = DB::('table_name')->select(DB::raw('is_read as isRead'))->get();
Result = [{ isread: true }]
我有理由使用DB Raw,所以我真的需要弄清楚这一点。
答案 0 :(得分:0)
我无法重现您提到的问题...您正在使用哪个版本的Laravel?
例如,如果我运行以下命令:
DB::table('users')->select(DB::raw('is_read as isRead'))->get();
我会得到错误:
带有消息'SQLSTATE [42S22]的Illuminate / Database / QueryException:找不到列:1054'字段列表'中的未知列'is_read'(SQL:从
users
选择is_read as isRead)'
这是正常现象,因为我的is_read
表中没有users
列。但是,您会看到错误消息isRead
没有转换为小写字母。
也许您可以改用selectRaw:
DB::table('table_name')->selectRaw('is_read as isRead')->get();
查询为:
select is_read as isRead from `table_name`
否则,您能否更新您的问题以提供有关如何复制的更多信息,以便解决大写问题。