Laravel Eloquent ORM в бангла мовою Частина-4 (Отримання одиничних моделей / Агрегатів)

pic

Функція Retrieving Single Models / Aggregates в Laravel Eloquent використовується для отримання конкретного запису або агрегованого значення з бази даних (наприклад, лічильника, максимуму, мінімуму, середнього). Вона зазвичай використовується, коли необхідно отримати певні дані або коротку статистику про набір даних.

Отримання окремих моделей

1. find() метод

Використовується для отримання конкретного запису за допомогою первинного ключа.

use App\\Models\\Post;
// Отримати запис з первинним ключем 1  
$post = Post::find(1);if ($post) {  
 echo $post->title;  
}

2. findOrFail() метод

Якщо запис не знайдено, кидається 404 HTTP виключення.

$post = Post::findOrFail(1);

3. first() метод

Використовується для отримання першого запису.

$post = Post::where('status', 'published')->first();
if ($post) {  
 echo $post->title;  
}

4. firstOrFail() метод

Якщо перший запис не знайдено, кидається 404 HTTP виключення.

$post = Post::where('status', 'published')->firstOrFail();

5. value() метод

Використовується для отримання конкретного значення з одного стовпця.

$title = Post::where('id', 1)->value('title');

6. pluck() метод

Використовується для отримання множинних значень з конкретного стовпця.

$titles = Post::where('status', 'published')->pluck('title');

Отримання агрегатів

Методами агрегатів в Eloquent можна безпосередньо рахувати дані в базі даних. Нижче наведено деякі важливі методи:

1. count()

Обчислює кількість записів у базі даних.

$postCount = Post::count();

2. max()

Повертає максимальне значення з конкретного стовпця.

$maxViews = Post::max('views');

3. min()

Повертає мінімальне значення з конкретного стовпця.

$minViews = Post::min('views');

4. avg()

Повертає середнє значення для конкретного стовпця.

$averageViews = Post::avg('views');

5. sum()

Повертає суму всіх значень в конкретному стовпці.

$totalViews = Post::sum('views');

Комбінація одиничних моделей і агрегатів

Ви можете використовувати методи агрегатів разом з методами фільтрації записів.

$totalPublishedPosts = Post::where('status', 'published')->count();
$maxPublishedViews = Post::where('status', 'published')->max('views');

Приклад: Використання одиничного запису та агрегатів разом

use App\\Models\\Post;
// Отримання першого опублікованого поста  
$post = Post::where('status', 'published')->first();// якщо пост знайдений  
if ($post) {  
 echo "Title: " . $post->title;  
}// Загальна кількість опублікованих постів  
$totalPublishedPosts = Post::where('status', 'published')->count();// Максимальна кількість переглядів серед опублікованих постів  
$maxPublishedViews = Post::where('status', 'published')->max('views');echo "Total Published Posts: $totalPublishedPosts";  
echo "Maximum Views for Published Posts: $maxPublishedViews";




Перекладено з: [Laravel Eloquent ORM in Bangla Part-4 (Retrieving Single Models / Aggregates)](https://medium.com/@info.sontus/laravel-eloquent-orm-in-bangla-part-4-retrieving-single-models-aggregates-63f4a15bba0e)

Leave a Reply

Your email address will not be published. Required fields are marked *