Код: Выделить всё
class Category extends Model
{
public function productTemplates(): HasMany
{
return $this->hasMany(ProductTemplate::class, 'category_id');
}
#[Scope]
protected function byVendor(Builder $query, ?int $vendorId = null): void
{
$query->whereHas('productTemplates', function (Builder $productQuery): void {
/** @var Builder
$productQuery */
$productQuery->byVendor($vendorId);
});
}
}
Код: Выделить всё
class ProductTemplate extends Model
{
#[Scope]
protected function byVendor(Builder $query, ?int $vendorId = null): void
{
if ($vendorId) {
$query->where('vendor_id', $vendorId);
}
}
}
Код: Выделить всё
PHPDoc tag @var with type Illuminate\Database\Eloquent\Builder
is not subtype of native type Illuminate\Database\Eloquent\Builder.
Подробнее здесь: https://stackoverflow.com/questions/798 ... uent-scope
Мобильная версия