<?php declare (strict_types = 1); namespace App\Rules; use App\Models\Product; use Illuminate\Contracts\Validation\Rule; class isSKUAvailable implements Rule { public ?int $retailer_id; public function __construct(?int $retailer_id) { $this->retailer_id = $retailer_id; } public function passes($attribute, $value) { $product = Product::where('sku', $value)->where('retailer_id', $this->retailer_id)->first(); return (!$product) ? true : false; } public function message() { return 'This sku is already in use.'; } }