Laravel firstOrFail 函数重定向到错误的路由

q55awr

信息:我所有的路线看起来像这样/locale/something,例如/en/home工作正常。

在我的控制器中,我正在使用该firstOrFail()功能。

当触发失败部分时,该函数会尝试将我发送到/home. 这不起作用,因为它需要是/en/home.

那么我该如何调整firstOrFail()发送给我功能/locale/home呢?需要改变什么?

肯尼·霍纳

您可以通过多种方式处理它。

具体做法

您可以在每次未找到记录时重定向到特定视图的任何位置使用 try-catch 包围您的查询:

 class MyCoolController extends Controller {

    use Illuminate\Database\Eloquent\ModelNotFoundException;
    use Illuminate\Support\Facades\Redirect;

   //

    function myCoolFunction() {
        try
        {
            $object = MyModel::where('column', 'value')->firstOrFail();
        }
        catch (ModelNotFoundException $e)
        {
            return Redirect::to('my_view');
            // you could also:
            // return redirect()->route('home');
        }

        // the rest of your code..
    }

  }

唯一的缺点是您需要在要使用该firstOrFail()方法的任何地方处理此问题

全球方式

正如建议的评论一样,您可以在Global Exception Handler 中定义它

应用程序/异常/Handler.php

# app/Exceptions/Handler.php

use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Facades\Redirect;

// some code..

public function render($request, Exception $exception)
{
    if ($exception instanceof ModelNotFoundException && ! $request->expectsJson())
    {
        return Redirect::to('my_view');
    }

    return parent::render($request, $exception);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel被AJAX调用时从控制器重定向到路由

来自分类Dev

Laravel:使用URL中的婴儿车从控制器重定向到命名路由

来自分类Dev

Laravel 4:Redirect:intended总是重定向到相同的不需要的路由

来自分类Dev

将特定路由重定向到页面(如果laravel 4不存在)

来自分类Dev

Laravel路由组导致重定向循环

来自分类Dev

Laravel Eloquent firstOrFail返回表中的所有记录

来自分类Dev

在Laravel中使用参数重定向到命名路由

来自分类Dev

Laravel子路由名称在重定向时给出错误

来自分类Dev

firstOrFail从口才查询生成器返回错误的记录

来自分类Dev

Laravel-使用可选参数重定向到路由

来自分类Dev

重定向到Laravel 5中不起作用的路由

来自分类Dev

Laravel路由组页面重定向到主页

来自分类Dev

laravel构造函数重定向

来自分类Dev

Laravel路由重定向与数据

来自分类Dev

Laravel-注册后重定向到数据路由

来自分类Dev

laravel编辑表单验证重定向到错误的路线

来自分类Dev

Laravel Eloquent firstOrFail返回表中的所有记录

来自分类Dev

firstOrFail从雄辩的查询生成器返回错误的记录

来自分类Dev

重定向到资源路由[Laravel]时路由不存在

来自分类Dev

难以理解laravel中的重定向/路由

来自分类Dev

Laravel路由组页面重定向到主页

来自分类Dev

laravel构造函数重定向

来自分类Dev

在Laravel 5.3中重定向路由

来自分类Dev

laravel重定向到用户登录时的路由

来自分类Dev

Laravel 测试用例测试重定向到某个路由

来自分类Dev

重定向路由以在 Laravel 中进行验证

来自分类Dev

Laravel 重定向到其他路由

来自分类Dev

Laravel 如果用户没有登录重定向到登录,登录后将他重定向到之前的路由

来自分类Dev

Laravel - 如何将 `->map()` 与 `->firstOrFail()` 结合使用?

Related 相关文章

  1. 1

    Laravel被AJAX调用时从控制器重定向到路由

  2. 2

    Laravel:使用URL中的婴儿车从控制器重定向到命名路由

  3. 3

    Laravel 4:Redirect:intended总是重定向到相同的不需要的路由

  4. 4

    将特定路由重定向到页面(如果laravel 4不存在)

  5. 5

    Laravel路由组导致重定向循环

  6. 6

    Laravel Eloquent firstOrFail返回表中的所有记录

  7. 7

    在Laravel中使用参数重定向到命名路由

  8. 8

    Laravel子路由名称在重定向时给出错误

  9. 9

    firstOrFail从口才查询生成器返回错误的记录

  10. 10

    Laravel-使用可选参数重定向到路由

  11. 11

    重定向到Laravel 5中不起作用的路由

  12. 12

    Laravel路由组页面重定向到主页

  13. 13

    laravel构造函数重定向

  14. 14

    Laravel路由重定向与数据

  15. 15

    Laravel-注册后重定向到数据路由

  16. 16

    laravel编辑表单验证重定向到错误的路线

  17. 17

    Laravel Eloquent firstOrFail返回表中的所有记录

  18. 18

    firstOrFail从雄辩的查询生成器返回错误的记录

  19. 19

    重定向到资源路由[Laravel]时路由不存在

  20. 20

    难以理解laravel中的重定向/路由

  21. 21

    Laravel路由组页面重定向到主页

  22. 22

    laravel构造函数重定向

  23. 23

    在Laravel 5.3中重定向路由

  24. 24

    laravel重定向到用户登录时的路由

  25. 25

    Laravel 测试用例测试重定向到某个路由

  26. 26

    重定向路由以在 Laravel 中进行验证

  27. 27

    Laravel 重定向到其他路由

  28. 28

    Laravel 如果用户没有登录重定向到登录,登录后将他重定向到之前的路由

  29. 29

    Laravel - 如何将 `->map()` 与 `->firstOrFail()` 结合使用?

热门标签

归档