如何在 Laravel 4.2 中返回两次?

Posted

技术标签:

【中文标题】如何在 Laravel 4.2 中返回两次?【英文标题】:How can I return two times back in Laravel 4.2? 【发布时间】:2016-12-29 06:55:27 【问题描述】:

哪些类用于缓存某些令牌或 url?登录后,我希望用户在 Laravel 4.2 中重定向两个 url?我已经尝试在我的用户身份验证函数中使用 URlGenerator 和 Request 类,所以我可以捕获我以前的 url,即 GET 登录请求,而所需的 url 在此请求之前。

我的登录功能:

namespace \Users\Repositories;

use View , Input , Redirect , Config;
use Illuminate\Routing\UrlGenerator;
use Users\Repositories\Contracts\AuthRepositoryInterface;
use Illuminate\Support\MessageBag;
use Illuminate\Http\Request;




class AuthRepository implements AuthRepositoryInterface 

    private $messageBag;
    private $errors;
    private $urlGenerator;
    private $request;


    public function __construct(MessageBag $messageBag, UrlGenerator $urlGenerator, Request $request) 
        $this->messageBag    = $messageBag;
        $this->urlGenerator  = $urlGenerator;
        $this->request       = $request;
    

 public function postLogin() 

        $remember_me = (Input::get('remember_me') == 1 ? true : false);


        try
        
            // Login credentials
            $credentials = array(
                'email'    => Input::get('email'),
                'password' => Input::get('password'),
            );


            // Authenticate the user
            $user = \Sentry::authenticate($credentials, $remember_me);

            // giving example
            //if(token or url)
            //redirect to 'frontend.fee.registration'
            //else

            return Redirect::route('profile')->with('success' , trans('users::success.login_success'));


        

我的路线:

 Route::get( '/login' ,                              array( 'as' => 'login' , 'uses' => 'HomeController@userLogin' ) );
Route::post('/login' ,                              array( 'as' => 'postLogin' , 'uses' => '\Users\Controllers\AuthController@postLogin' ) );

重定向目的地:

Route::get('/fee/id/register/'  ,                 array( 'as' => 'frontend.fee.registration' ,    'uses' => 'FeeController@feeRegistration' ) );

【问题讨论】:

【参考方案1】:

没有内置解决方案,但您可以使用 session 保存当前 URL,然后使用它们返回 2-3-4 等页面。

在这里查看答案和代码:How to return back twice in Laravel?

【讨论】:

以上是关于如何在 Laravel 4.2 中返回两次?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel 4.2 在单个查询(不是 for 查询循环)中批量插入或更新

如何在 laravel 4.2 中使用带有自定义预过滤器的 AJAX 上传 CSV 文件

如何在 Laravel 中打印出包含多个产品的所有订单?

Laravel 两次预先添加基本 URL

如何在 laravel 4.2 中为特定类别任务自动生成序列号?

如何在 Laravel 4.2 中创建自定义 DB Query Builder 方法