Метод id
Метод id класса Auth возвращает идентификатор текущего аутентифицированного пользователя. Если пользователь не аутентифицирован, метод возвращает null. Метод не принимает никаких параметров и всегда возвращает либо значение первичного ключа (обычно это id), либо null.
Синтаксис
<?php
$id = Auth::id();
?>
Пример
Давайте получим идентификатор текущего пользователя и выведем его на экран:
<?php
use Illuminate\Support\Facades\Auth;
$id = Auth::id();
echo $id;
?>
Результат выполнения кода при аутентифицированном пользователе:
"1"
Пример
Если пользователь не аутентифицирован, метод возвращает null. Проверим это:
<?php
use Illuminate\Support\Facades\Auth;
$id = Auth::id();
if ($id === null) {
echo "User is not authenticated";
} else {
echo "User ID: " . $id;
}
?>
Результат выполнения кода для неаутентифицированного пользователя:
"User is not authenticated"
Пример
Используем метод id вместе с другими методами аутентификации. Давайте проверим, что пользователь аутентифицирован, и затем получим его идентификатор для использования в запросе:
<?php
use Illuminate\Support\Facades\Auth;
use App\Models\Post;
if (Auth::check()) {
$userId = Auth::id();
$posts = Post::where('user_id', $userId)->get();
foreach ($posts as $post) {
echo $post->title;
}
}
?>
Результат выполнения кода:
["Post 1", "Post 2", "Post 3"]
Пример
Рассмотрим использование метода id в Blade-шаблоне для проверки прав доступа к редактированию записи:
@auth
@if (Auth::id() === $post->user_id)
<a href="{{ route('posts.edit', $post) }}">Edit Post</a>
@endif
@endauth
Результат выполнения кода для автора поста:
<a href="http://example.com/posts/1/edit">Edit Post</a>
Смотрите также
-
метод
check,
который проверяет, аутентифицирован ли пользователь -
метод
user,
который возвращает модель текущего пользователя -
метод
guest,
который проверяет, является ли пользователь гостем -
метод
loginUsingId,
который выполняет вход по идентификатору пользователя