Search code examples
laravellaravel-livewire

Livewire pass id for update


How can I pass the id from list and update that item in database?

Code

<button class="acceptOrder btn btn-sm btn-success" wire:click="$emit('orderAccepted', {{$order->id}})">Accept order</button>

protected $listeners = ['acceptOrder'];

public function acceptOrder(Order $order)
{
  $order->update(['accepted' => true]);
}

Error

Uncaught SyntaxError: Invalid or unexpected token


Solution

  • you can directly call function in wire:click()

    try this

    <button class="acceptOrder btn btn-sm btn-success" wire:click="orderAccepted('{{ $order->id }}')">Accept order</button>
    

    then in compoenent

    public function orderAccepted(Order $order)
    {
      $order->update(['accepted' => true]);
    }
    

    ref link https://laravel-livewire.com/docs/2.x/actions