首页 > 解决方案 > laravel:防止返回 null 的查询

问题描述

我有一个查询,它检查用户表中的用户,该用户具有特定代码并获取该用户,并将其设置为 $mainCustomer。我刚刚意识到在某些情况下可能没有用户使用该代码。我认为我在下面的检查! $mainCustomer会覆盖我,但我相信如果查询本身为空,我可能会收到错误。如何防止查询出现错误?

        $mainCustomer = User::where('code', '=', $value_code)->first();

        if (! $mainCustomer) {
            log_info("doesn't exist");

            return;
        }

标签: phplaravel

解决方案


return User::where('code', '=', $value_code)->firstOrFail();

该方法将检索查询的第一个结果;但是,如果没有找到结果,Illuminate\Database\Eloquent\ModelNotFoundException则会抛出一个:如果没有捕获到异常,则会自动向用户发送 404 HTTP 响应。使用这些方法时,无需编写显式检查以返回 404 响应。

这就是你所追求的吗?


推荐阅读