-1

当我尝试用原始 sql 查询替换 laravel 查询生成器时,它会显示一些错误。

询问:

$users = DB::select('select * from action_buttons where action_button_id BETWEEN 98 AND 102');

在执行上述查询时,以下错误显示在白屏中。错误截图

“哎呀,看起来像出事了。”

我已经"use DB;"在顶部添加了。困惑为什么会发生此错误。

4

1 回答 1

0

此问题与查询无关,请检查您的应用程序密钥。使用 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();

这些更改将解决您的问题。

于 2019-09-13T09:06:54.520 回答