首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为每一行添加一个数量输入

为每一行添加一个数量输入
EN

Stack Overflow用户
提问于 2022-02-14 21:17:07
回答 1查看 458关注 0票数 0

我正试图从产品列表中添加一个产品到我的购物车中。我用的是拉拉维尔。在下面的代码中,我设法将单击order的每个产品添加到购物车中(这只是一个会话变量)。现在,我试图添加一个数量输入,以便为每个产品,我可以选择一个数量的产品,以添加到我的购物车。

请记住,从下面的代码中可以看出,Products是一个雄辩的集合,而在该集合中,我没有属性数量。在我看来,这也是不需要的,因为数量不是产品模型的一部分,而是属于我的购物车的东西。

下面是我的Livewire php部分。

代码语言:javascript
复制
class Dashboard extends Component
{
    use WithPagination;

    public string $search = '';

    public function render(): View 
    {
        return view('welcome', [
            'products' => Product::search('description', $this->search)->paginate(9)
        ])->layout('layouts.app');
    }

    public function addToCart(int $productId)
    {
        Cart::add(Product::where('id', $productId)->first());
    }

}

这是刀片部分:

代码语言:javascript
复制
 @foreach($products as $product)
    <x-table.row wire:loading.class.delay="opacity-50" wire:key="{{ $product->id }}"> 
      <x-table.cell>{{ $product->description }}</x-table.cell>
      <x-table.cell> &euro;{{ number_format($product->price, 2) }}</x-table.cell>
       <x-table.cell> 
        <input type="number"name="quanity" class="w-16 mx-8" />
          <button wire:click="addToCart({{$product->id}})">Order</button>
       </x-table.cell>
      </x-table.row>
 @endforeach

我认为最好的选择是向addToCart函数中添加第二个参数,即数量。但我做不到。

建议是非常欢迎的。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-02-15 03:15:41

像这样的东西可能就足够了

代码语言:javascript
复制
public function addToCart(int $productId, int $quantity)
    {
        Cart::add(Product::where('id', $productId)->first()->setAttribute('quantity',  $quantity));
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71118375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档