Laravel - 将id作为参数传递,但路径获取密钥,而不是值

时间:2016-05-25 10:04:59

标签: php laravel routes

所以我遇到了一个非常奇怪的问题。我传递的参数如下:

<form action="{{ route('deleteCustomerCartItem', ['product_id', $cartItem['product']->id, 'size' => $cartItem['size']]) }}" method="post">

我正在我的购物车页面中打印$cartItem['product']->id并打印出有效的ID。但是当我传递它并var_dump它时,我得到string(10)“product_id”。我注意到我的路线没有获得实际的ID,但它得到'product_id'。这是我的路线:

Route::post('/cart/delete/{product_id}/{size?}', [
'uses' => 'CartController@deleteCustomerItem',
'as' => 'deleteCustomerCartItem']);

这是我从这条路线获得的网址: enter image description here

product_id必须为1,S为$cartItem['size']。我不知道为什么会发生这种情况,或者为什么最后会出现'?1'。

我需要获得product_id的值而不是密钥。有人可以解释为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:2)

['product_id' => $cartItem['product']->id, 'size' => $cartItem['size']]

              ^
              |
// Note the use of => here instead of ,