拉拉维尔:防止查询返回空值

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


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


        if (! $mainCustomer) {

            log_info("doesn't exist");


            return;

        }


ABOUTYOU
浏览 89回答 1
1回答

胡说叔叔

return User::where('code', '=', $value_code)->firstOrFail();该方法将检索查询的第一个结果;但是,如果未找到任何结果,则会引发一个:如果未捕获异常,则会自动将 404 HTTP 响应发送回用户。使用这些方法时,无需编写显式检查即可返回 404 响应。Illuminate\Database\Eloquent\ModelNotFoundException这就是你所追求的吗?
打开App,查看更多内容
随时随地看视频慕课网APP