php - 在 WITH [Laravel] 中使用两个参数重定向路由

标签 php laravel frameworks

我在 Redirect::route 中用“with”传递两个变量时遇到问题...这是我的代码...

怎么做

return Redirect::route('cart-success')->with(
            array(
                'cartSuccess' => 'You successfuly ordered. To track your order processing check your email', 
                'cartItems' => Cart::contents()
            )
        );

这里是错误:

undefined variable :cartItems( View :C:\xampp\htdocs\laravel-webshop\laravel\app\views\cart-success.blade.php)

Route::group(array('before' => 'csrf'), function() {
    //Checkout user POST
    Route::post('/co-user', array(
        'as' => 'co-user-post',
        'uses' => 'CartController@postCoUser'
    ));
});

Controller

public function postCoUser() {
    $validator = Validator::make(Input::all(), array(
        'cardholdername' => 'required',
        'cardnumber' => 'required|min:16|max:16',
        'cvv' => 'required|min:3'
    ));

    if($validator->fails()) {
        return Redirect::route('checkout')
                ->withErrors($validator)
                ->withInput();
    } else {
        return Redirect::route('cart-success')->with(
            array(
                'cartSuccess' => 'You successfuly ordered. To track your order processing check your email', 
                'cartItems' => Cart::contents()
            )
        );
    }
}

查看

 @extends('publicLayout.main')

 @section('content')
   @if(Session::has('cartSuccess'))
    <p>{{ Session::get('cartSuccess') }}</p>

    <?php $total = 0; ?>
    @foreach ($cartItems as $cartItem)
        Name: {{ $cartItem->name }} <br>
        Price: {{ $cartItem->price }} &euro;<br>
        Quantity: {{ $cartItem->quantity }} <br>
        <?php $final = $cartItem->price * $cartItem->quantity; ?>
        Final price: {{ $final }} &euro;<br>
        <?php $total += $final; ?>
        <hr>
    @endforeach
    Total: {{ $total }} &euro;
 @endif
@stop

最佳答案

你可以试试这个:

return Redirect::route('cart-success')
               ->with('cartSuccess', 'You successfuly ordered. To track your order processing check your email')
               ->with('cartItems', Cart::contents());

或者这个:

return Redirect::route('cart-success', array('cartSuccess' => '...', 'cartItems' => '...'));

关于php - 在 WITH [Laravel] 中使用两个参数重定向路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460068/

相关文章:

php - Google 日历事件创建和 Google 企业帐户

laravel - 保护 Responsive FileManager 不被直接访问

mysql - 无法连接 - 无效设置

php - 在 CakePHP 应用程序中启用 CORS

php - 插入记录时创建 slug 以包含 id 和 title - php MySQL

iphone - 创建并导入 swift 框架

objective-c - GDB:使用地址在外部文件上插入断点

objective-c - 从 Objective-C 框架头文件中隐藏类型

php - INSERT/UPDATE PHP 变量连同 SQL 中其他表的值

php - Cpanel 共享主机中的 Laravel 5.5 错误 500