кстати а если к модели Post подключить globalscope, как сделать, чтобы globalscope работал только для фронтенд? чтобы в админке не срабатывал
Ну можно определять роут по маске и там уже писать логику
Boot method:
$class = app(static::class);
static::addGlobalScope(
fn(Builder $builder) : Builder => $builder->when(isFront() && in_array('show', $class->getFillable(), true),
fn(Builder $builder) : Builder => $builder->where($class->getTable() . '.show', true)
)
);
Helper:
if (!function_exists('isFront')) {
function isFront() : bool {
return request()->routeIs('front.*');
}
}