prepare($sql); $stmt->execute($params); $students = $stmt->fetchAll(); } catch (Throwable $e) { $dbError = $e->getMessage(); } $badgeClassCode = is_file(__DIR__ . '/../app/View/Components/Badge.php') ? file_get_contents(__DIR__ . '/../app/View/Components/Badge.php') : ''; $badgeViewCode = is_file(__DIR__ . '/../resources/views/components/badge.blade.php') ? file_get_contents(__DIR__ . '/../resources/views/components/badge.blade.php') : ''; $indexViewCode = is_file(__DIR__ . '/../resources/views/students/index.blade.php') ? file_get_contents(__DIR__ . '/../resources/views/students/index.blade.php') : ''; ?> Bài 06 - Blade Directive (@class, @selected) & Component <x-badge> | Lab 06
BÀI TẬP 06

Blade Directive hiện đại (@class, @selected) & Component <x-badge>

Sử dụng @selected để giữ trạng thái dropdown lọc giới tính, @class để tô màu vàng các dòng sinh viên dưới 18 tuổi, và tạo Blade Component <x-badge :age="$student->age" /> hiển thị nhãn Adult (age ≥ 18) hoặc Under 18 (age < 18).

Adult (≥ 18 tuổi) Under 18 (< 18 tuổi)
= 18; ?>
#ID Họ và tên Email Giới tính Nhãn độ tuổi (<x-badge :age="$student->age" />)
# Adult ( tuổi) Under 18 ( tuổi)
1. Component Class app/View/Components/Badge.php
2. Component View resources/views/components/badge.blade.php
3. Sử dụng trong resources/views/students/index.blade.php