无法解析类中的依赖项 [Parameter #0 [ <required> $product_id ]]

时间:2021-04-27 19:33:13

标签: laravel laravel-8 laravel-livewire

我正在尝试使用 livewire 通过单独的控制器删除产品,但我发现无法解决依赖项错误有什么帮助我在这里做错了吗?

use App\Models\Products;
use Livewire\Component;

class Delete extends Component
{
    public function delete($product_id)
    {
        $product = Products::where('id', $product_id)->first();
        $product->delete();
    }

这是我的组件

<div>
        <button wire:click="delete({{ $product_id ?? '' }})" class="btn btn-danger btn-sm">Delete</button>
</div>

2 个答案:

答案 0 :(得分:0)

组件中的删除方法接收一个参数,所以在你的刀片中你必须通过 wire:click 提供它

<div>
    <button wire:click="delete({{ $product_id }})" class="btn btn-danger btn-sm">Delete</button>
</div>

答案 1 :(得分:0)

use App\Models\Products;
use Livewire\Component;

class Delete extends Component
{
    public function delete(Product $product)
    {
        //$product = Products::where('id', $product_id)->first();
        $product->delete();
    }
}

你最好不要传递一个空字符串implictBinding将解决产品

<div>
        <button wire:click="delete({{ $product_id}})" class="btn btn-danger btn-sm">Delete</button>
</div>