当我尝试用原始 sql 查询替换 laravel 查询生成器时,它会显示一些错误。
询问:
$users = DB::select('select * from action_buttons where action_button_id BETWEEN 98 AND 102');
在执行上述查询时,以下错误显示在白屏中。
“哎呀,看起来像出事了。”
我已经"use DB;"
在顶部添加了。困惑为什么会发生此错误。
此问题与查询无关,请检查您的应用程序密钥。使用 artisan 命令生成应用程序密钥并在环境文件中php artisan key:generate
更新。APP_KEY
有关更多信息:"Whoops, looks like something went wrong."
https ://bobcares.com/blog/laravel-something-went-wrong/
除此之外,我在您的查询中看到了另一个问题,最佳做法是不要直接使用 sql 查询。
DB::raw() 用于生成查询构建器不会进一步解析的任意 SQL 命令。因此,他们可以通过 SQL 注入创建攻击向量。
欲了解更多信息:https ://fideloper.com/laravel-raw-queries
因此,如下所示更新您的查询,
$users = DB::table('action_buttons')->whereBetween('action_button_id', [98, 102])->get();
这些更改将解决您的问题。