«Laravel Livewire» Активное обновление количества продукта внутри al oop приводит к синхронизации входных значений друг с другом. - PullRequest
0 голосов
/ 10 июля 2020

Я надеюсь, что кто-нибудь может мне с этим помочь, так как я новичок в программировании. Я создавал поисковую систему автозапчастей, отображающую выбранные части из al oop, в задней части, кажется, работает как шарм, всякий раз, когда я отправляю какое-либо новое количество, он немедленно обновляет базу данных этого элемента, НО «все входы синхронизированы вместе, и если я изменю значение внутри поля ввода, все остальные тоже изменятся, но обновится только тот, который я выбрал (как и предполагалось).

Я попытался удалить одно из действий, оставив только wire:click, но я не знаю, как отправить входное значение в функцию, и если оставить wire:model, я не знаю, как заставить его запускать функцию, спасибо за ваш ответ.

Мое мнение:

@foreach($carparts as $carpart)
    <input type="number"
           id="qty"
           name="qty"
           value="{{$carpart->qty}}"
           wire:click="updateqty({{$carpart->id}})"
           wire:model="newQty">
    <p>{{$carpart->name}}</p>
@endforeach

Мой контроллер:

public $newQty;

public function updateqty($id)
{
    $partqty = Mypart::findOrFail($id);
    $partqty->qty = $this->newQty;
    $partqty->save();
}

public function render()
{
    return view('livewire.selectparts', [
        'carparts' => Mypart::where('mycar_id', $this->mycar)->get()
    ]);
}

mycar - выбранная машина

...