【发布时间】:2015-04-09 12:57:41
【问题描述】:
我正在使用 laravel 框架制作一个极简主义的电子商务 Web 应用程序,我是一个新手。
我想要实现的是当会话中存在产品时,我想在单击Add to Cart 按钮时更新该产品的数量。如果它在会话中不存在,我想将它插入到会话中。
到目前为止我尝试过的代码:
public function store( $id ) {
$product = Product::findOrFail( $id );
if ( \Session::has( 'cart' ) && is_array( \Session::get('cart') ) ) {
\Session::push('cart', ['product' => (int)$id, 'quantity' => 1 ]);
} else {
\Session::put('cart', ['product' => (int)$id, 'quantity' => 1 ]);
}
\Session::flash('added_product', 'Product Added in the cart');
return \Redirect::back();
}
以上代码的结果是:
array:3 [▼
0 => array:2 [▼
"product" => 1
"quantity" => 1
]
1 => array:2 [▼
"product" => 2
"quantity" => 1
]
2 => array:2 [▼
"product" => 1
"quantity" => 1
]
]
想要的结果是:
array:2 [▼
0 => array:2 [▼
"product" => 1
"quantity" => 2
]
1 => array:2 [▼
"product" => 2
"quantity" => 1
]
]
请帮我解决这个问题。谢谢。
更新 1:
在优素福回答后,我得到了以下结果:
array:4 [▼
"product" => 1
"quantity" => 1
0 => array:2 [▼
"product" => 3
"quantity" => 1
]
1 => array:2 [▼
"product" => 2
"quantity" => 1
]
]
【问题讨论】:
-
抱歉,我刚刚注意到您要执行的操作。我会更新我的答案。
-
好的..等待它..
-
好的,为你添加了新答案
-
谁能帮帮我?
-
检查我的最新编辑,我认为它应该可以工作
标签: php arrays laravel multidimensional-array laravel-5