如何使用 Laravel 5.5 在控制器中使用两个参数进行重定向

Posted

技术标签:

【中文标题】如何使用 Laravel 5.5 在控制器中使用两个参数进行重定向【英文标题】:How to Redirect using two parameter in Controller using Laravel 5.5 【发布时间】:2020-07-06 04:48:33 【问题描述】:

控制器是:

 elseif ($profile_is_exsit > '0') 
        
            $url = DB::table('marriage_bureau')->select('title','custom_id')->where('user_id',$user_id)->first();
            $title = $url->title;
            $custom_id = $url->custom_id;
           return redirect('marriage-bureau/title/custom_id');              
        

此返回重定向正在生成错误。我需要生成一个 URL 后跟以下路由。

web.php 中的路由

Route::get('marriage-bureau/title/id','marriage_bureau\ViewMarriageBureauController@index');

【问题讨论】:

【参考方案1】:

您可以为 url 提供变量

return redirect("marriage-bureau/$title/$custom_id");

【讨论】:

注意:这里不能使用单引号,比如'marriage-bureau/$title/$custom_id'【参考方案2】:

你可以这样做

return redirect()->route('route name', ['title' => $title, 'custom_id' => $custom_id]);

【讨论】:

【参考方案3】:

在您的控制器中使用:

elseif ($profile_is_exsit > '0') 
    
        $url = DB::table('marriage_bureau')->select('title','custom_id')->where('user_id',$user_id)->first();
        $title = $url->title;
        $custom_id = $url->custom_id;
       return redirect()->route('your-route-name', ['title' => $title, 'custom_id' => $custom_id]);             
    

在您的路线中使用:

 Route::get('marriage-bureau/title/id', 
   [
    'uses'=>'marriage_bureau\ViewMarriageBureauController@index',
    'as'=>'your-route-name',
  ]

);

【讨论】:

以上是关于如何使用 Laravel 5.5 在控制器中使用两个参数进行重定向的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 5.5 中使用 Noty 包

如何在laravel 5.5中的s3桶中上传图像

如何在 laravel 5.5 中将数组作为 API 资源返回

如何在 laravel 5.5 中使用 phpunit 测试中间件?

无法在 Laravel 5.5 中使用 axios 获取记录

Laravel 5.5资源控制器行为不端