Field Manual PHP / Laravel reference
← Laravel

Policies

Policies group authorization rules for a model.

What it is

Policies group authorization rules for a model.

When to use it

Use for ownership and per-resource capabilities.

Syntax

public function view(User $user, Order $order): bool {}

Example

namespace App\Policies;
use App\Models\{User, Order};
class OrderPolicy
{
    public function view(User $user, Order $order): bool
    {
        return $user->id === $order->user_id;
    }
    public function update(User $user, Order $order): bool
    {
        return $user->id === $order->user_id && $order->status === "pending";
    }
}

Common mistakes

Ensure discovery or registration matches the model; test both allowed and denied actors.

Related topics

Browse Laravel