【发布时间】:2019-09-13 06:08:19
【问题描述】:
当我尝试用原始 sql 查询替换 laravel 查询生成器时,它会显示一些错误。
查询:
$users = DB::select('select * from action_buttons where action_button_id BETWEEN 98 AND 102');
在执行上述查询时,以下错误会以白屏显示。
“哎呀,好像出了点问题。”
我在顶部添加了"use DB;"。搞不懂为什么会出现这个错误。
【问题讨论】:
-
$users = DB::table('action_buttons')->whereBetween('action_button_id', [98, 102])->get();
-
您是否正确配置 .env 文件并调试配置?检查您的日志文件
-
我不知道您的数据库架构和错误。但是,我的假设是您希望看到显示的错误,我猜您的环境变量 APP_DEBUG 或 APP_ENV 设置为 false 或生产。在本地开发环境中,您希望 debug 为 true,而 env 为本地。
-
不要直接使用sql查询。 DB::raw() 用于生成查询构建器不会进一步解析的任意 SQL 命令。因此,他们可以通过 SQL 注入创建攻击向量。 fideloper.com/laravel-raw-queries
-
正如其他人提到的,这个错误看起来不像查询相关的错误,因此请检查您的配置,这也可能会有所帮助,bobcares.com/blog/laravel-something-went-wrong