查看: 2039|回复: 0

[JavaScript/JQuery] laravel find和findorfail的区别

发表于 2018-2-26 08:59:22

首先数据库创建几条测试数据
图片描述
先看find的效果

  1. Route::get('/test',function (){
  2. $test=DB::table('test')->find(10);
  3. dd($test);
  4. });
复制代码

我没有这条数据打印出null。这会不会有点尴尬
在看看findorfail

图片描述

  1. Route::get('/test',function (){
  2. $test=DB::table('test')->findorfail(10);
  3. dd($test);
  4. });
复制代码

图片描述
这可吓我一跳说Query Builder没有定义这个方法,感觉看手册压压惊
findOrFail 和firstOrFail 方法会获取查询到的第一个结果。然而,如果没有任何查询结果,Illuminate\Database\Eloquent\ModelNotFoundException 异常将会被抛出:
创建个model

  1. Route::get('/test',function (){
  2. $test=\App\Test::findorfail(10);
  3. dd($test);
  4. });
复制代码

图片描述
看到这我又可以扩展他,可以自定义404页面
在views/errors/下创建404.blade.php
我们重新试一下
图片描述
如有错误求下方留意求共同进步



回复

使用道具 举报