Laravel 4 使用Crinsane/LaravelShoppingcart更新带有Laravel 4的项目

Laravel 4 使用Crinsane/LaravelShoppingcart更新带有Laravel 4的项目,laravel-4,shopping-cart,Laravel 4,Shopping Cart,我正在使用,一切正常,但我的电子商务网站正在动态地从数据库中提取数据。因此,我的问题是如何编辑下面的代码,以说明是否将其他项目添加到购物车,然后再添加它 public function add_to_cart() { $page = Pages::all(); $input = Input::all(); $price = preg_replace('/[^0-9]+/', '', $input['options']); if (!empty($input))

我正在使用,一切正常,但我的电子商务网站正在动态地从数据库中提取数据。因此,我的问题是如何编辑下面的代码,以说明是否将其他项目添加到购物车,然后再添加它

public function add_to_cart()
{
    $page = Pages::all();
    $input = Input::all();

    $price = preg_replace('/[^0-9]+/', '', $input['options']);

    if (!empty($input)) {
        $cartContents = Cart::add(array('id' => randomNumber(), 'name' => $input['product_name'], 'qty' => 1, 'price' => $price));
        $carts = Cart::content();

        $cart_session = Cart::count();
        Session::put('cart_sess', $cart_session);
    }
    return View::make('basket.cart', compact('page', 'cartContents', 'carts'));
}
正如上面的方法所示,它增加了一项,但我似乎不知道如何添加多个项目,以及如何添加交付,然后将其全部添加到客户将支付的实际总额中

有没有其他人玩弄过这个软件包并设法让它工作起来


非常感谢您的帮助。

这可能不是最好的答案,但它会起作用。我对你的问题也有不同的看法 在您的视图中,确保您有一个覆盖表的表单以及“全部更新”按钮。“继续结帐”可能只是一个按钮,因为您的购物车只是一个会话

// View (notice how the name of the qty has the rowid):
{!! Form::open(array('route' => 'cart-update', 'id' => 'cart-form')) !!}
...
<td>
    <div class="cart_quantity_button">
       <input class="cart_quantity_input" type="number" name="quantity_{{ $row->rowid }}" min="1" max="10000" step="1" value="{{$row->qty}}" autocomplete="off" size="2">
    </div>
</td>
...
<button type="submit" class="btn-black pull-right" id="update_shopping">Update Shopping Cart</button>
{!! Form::close() }}

// Routes
Route::post('cart/update/', array('as' => 'cart-update', 'uses' => 'CartController@updateAll'));

// Controller
use Cart;
public function updateAll(Request $request)
{
    foreach($request->all() as $k => $v)
    {
        if ($k == "_token") continue;
        $arr = explode("_", $k);
        // Update the cart -> Cart::update($rowid, $qty);
        Cart::update($arr[1], $v);
    }

    $cart = Cart::content();
    return View::make('shoppingcart', compact('cart'));

}
//视图(注意数量的名称如何具有rowid):
{!!表单::打开(数组('route'=>'购物车更新','id'=>'购物车表单'))
...
...
更新购物车
{!!Form::close()}
//路线
路由::post('cart/update/',数组('as'=>'cart update','uses'=>'CartController@updateAll'));
//控制器
使用购物车;
公共函数updateAll(请求$Request)
{
foreach($request->all()作为$k=>$v)
{
如果($k==“_令牌”)继续;
$arr=爆炸(“u3;”,$k);
//更新购物车->购物车::更新($rowid,$qty);
购物车::更新($arr[1],$v);
}
$cart=cart::content();
返回视图::make('shoppingcart',compact('cart');
}
有更好的方法可以做到这一点,但这应该满足您的需要。我希望