第五个参数未显示在 cart.index 页面中

Posted

技术标签:

【中文标题】第五个参数未显示在 cart.index 页面中【英文标题】:fifth parameter is not displaying in the cart.index page 【发布时间】:2018-12-04 17:07:09 【问题描述】:

我正在发送五个参数以添加到购物车功能,这是代码

<form action="route('cart.store')" method="post">                           csrf_field() 
                              <input type="hidden" name="id" value="$product->id">
                              <input type="hidden" name="name" value="$product->name">
                              <input type="hidden" name="price" value="$product->price">
                              <input type="hidden" name="destination" value="$product->destination">
                               value=""> 

                      <button type="submit">click me</button>
                           </form>

cartController的代码是

 public function store(Request $request)
    
         Cart::add($request->id, $request->name, 1 , $request->price , ['destination' => $request->destination]);
              return redirect()->route('cart.index')->with('success_message','Item was added to your cart');
     // i have also tried 
Cart::add(array('id' => $request->id, 'name' => $request->name, 'qty' => 1, 
    'price' => $request->price, 'destination' => $request->destination));

cart.index 的代码是

 <tbody>
                             @foreach(Cart::content() as $row)
                        <tr>
                          <td><a href="#"><img src="img/detailsquare.jpg"  class="img-fluid"></a></td>
                          <td><a href="#">$row->id</a></td>
                          <td><a href="#">$row->name</a></td>
                          <td>$row->qty</td>
                          <td>$row->price</td>
                           <td>$row->destination</td>
                          <td><a href="#"><i class="fa fa-trash-o"></i></a></td>
                        </tr>
                         @endforeach
                      </tbody>

这没有给我任何错误并显示产品 ID、名称、数量、价格,但没有显示目的地。谁有解决办法

【问题讨论】:

对于一些快速调试,$product-&gt;destination ?? 'product destination is empty'$request-&gt;get('destination', 'request destination is empty') 我想展示一些关于产品的额外细节。那为什么使用这个目的地,但是正如你所说,这给了我空的结果,如何解决这个问题? 很可能在创建产品时没有存储目的地。请检查 db 以确定。 是的,当我使用 var_dump($request) 检查时,它显示的是空的目标字段。您是对的,在创建产品时没有存储目的地。你有什么解决办法吗? 您需要在创建产品时正确存储目的地。您需要单独发布一篇文章,其中包含与创建产品相关的代码。 【参考方案1】:

删除输入类型后的多余行:

<form action="route('cart.store')" method="post">                           csrf_field() 
                              <input type="hidden" name="id" value="$product->id">
                              <input type="hidden" name="name" value="$product->name">
                              <input type="hidden" name="price" value="$product->price">
                              <input type="hidden" name="destination[]" value="$product->destination">
                               /*value=""> */ // **remove this line**

                      <button type="submit">click me</button>
                           </form>

如果不工作,则从 cartController 尝试 var_dump($request) 并查看结果。

试试这个:

public function store(Request $request)
    
         Cart::add($request->id, $request->name, 1 , $request->price ,  $request->destination);
              return redirect()->route('cart.index')->with('success_message','Item was added to your cart');
    

还要检查你的模型和数据库。

【讨论】:

是的,当我使用 var_dump($request) 检查时,它显示的是空的目标字段。创建产品时未存储目的地。你有什么解决办法吗? 它给了我错误,参数 5 必须是数组类型。我正在使用 crisane laravel 购物车 name="destination[]" 在您的输入类型字段中使用它 是的,该错误现在已被删除。但它现在在 cart.index 页面中显示目的地(同样的问题)。 white 使用 dd($request) 它显示数组目标的值,

以上是关于第五个参数未显示在 cart.index 页面中的主要内容,如果未能解决你的问题,请参考以下文章

第五个页面:更多电影页面

QT connect函数的第五个参数

如何在 Drupal 的主分类页面中显​​示子术语?

为什么在实例化模板时必须在参数包中显式显示类型?

实训十(平台的实现)

JavaScript制作页面时常用的五个特效------你用到了吗?