【问题标题】:firstOrFail() Not Working if data not Exits [duplicate]如果数据不存在,firstOrFail()不起作用[重复]
【发布时间】:2018-12-10 00:45:49
【问题描述】:

如果数据库为空,这个 firstOrFail() 方法会向我显示错误。数据库为空时如何访问我的视图。

$tag = Admin::where('option_name','tag')->firstOrFail();
        return view('admin.products')->with([
            'tag'  =>  $tag->option_value,
        ]);

或者我想这样做

   try{

        $tag = Admin::where('option_name','tag')->firstOrFail();
        dd($tag);
    }catch (ErrorException $e){
        echo "xxxx";
    }

【问题讨论】:

  • 捕获ModelNotFoundException 并将$tag 定义为空。或者不要使用firstOrFail..
  • 我怎样才能得到$tagfirstOrFail() 这样的值
  • @Lawrence Cherone ` $tag = "我的文字"; $tag = Admin::whereOptionName('tag')->get() ` 但不工作

标签: php laravel database-design eloquent


【解决方案1】:
 $tag = Admin::whereOptionName('tag')->get();
        return view('admin.products')->with([
            'tag'  =>  $tag->first()->option_value,
        ]);

【讨论】:

    【解决方案2】:

    您可以将此代码与 default 值一起使用:

    $tag=Admin::whereOptionName('tag')->first();
    return view('admin.products')->with([
        'tag'  =>  collect($tag)->get('option_value','default value'),
    ]);
    

    view 中,您可以通过{{tag}} 获得价值

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 2021-09-11
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      相关资源
      最近更新 更多