LaravelでUniqの条件を追加する。

テーブルのユニーク制約でなく、ある条件下でユニークなバリデーションの設定方法。
商品ID(サプライヤーごとでユニークを想定)

    'name' => 'required',
    'supplier_id' => 'required',
    'product_id' => [
        'alpha_numeric',
        'nullable',
        Rule::unique('products')->where(function ($query){
                $query->where('supplier_id', $supplier_id);
            })
        ],
        

カスタマイズ性が高く細かいところに手が届く感。