Certified/app/Models/Scopes/OwnedByUserScope.php
Joël van de Wouw ac340d125c
Some checks failed
linter / quality (push) Failing after 13s
tests / ci (8.3) (push) Failing after 2s
tests / ci (8.4) (push) Failing after 2s
tests / ci (8.5) (push) Failing after 3s
Initial commit
Certificate manager built on Laravel 13, Livewire 4, and Flux.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:44:58 +02:00

26 lines
674 B
PHP

<?php
namespace App\Models\Scopes;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Support\Facades\Auth;
/**
* @implements Scope<Model>
*/
class OwnedByUserScope implements Scope
{
/**
* Restrict queries to the authenticated user's rows. Deliberately a
* no-op without an authenticated user so console commands and queued
* jobs can operate across all users.
*/
public function apply(Builder $builder, Model $model): void
{
if (Auth::hasUser()) {
$builder->where($model->qualifyColumn('user_id'), Auth::id());
}
}
}