Junior
За какво е Eloquent в Laravel?
sobes.tech AI
Отговор от AI
Eloquent е ORM (Object-Relational Mapper) за Laravel. Той предоставя удобен, обектно-ориентиран начин за взаимодействие с базата данни, позволявайки да работите с таблиците като с модели, а с редовете като с обекти.
Основните задачи на Eloquent:
- Улесняване на заявките: Позволява изпълнение на заявки към базата данни чрез методите на моделите, вместо да се пише SQL код директно.
- Връзки между модели: Лесно дефиниране и получаване на свързани данни между таблиците (едно-до-едно, едно-до-много, много-до-много).
- Active Record модел: Поддържа патърна Active Record, при който обектът модел представлява ред в таблицата, а методите на модела отразяват операциите с този ред.
- Обработка на данни: Предлага удобни интерфейси за вмъкване, актуализиране, изтриване и извличане на данни.
- Събития на модели: Позволява да се свърже логика с жизнения цикъл на моделите (например, преди запазване или след изтриване).
Пример за получаване на потребители:
// app/Models/User.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// ...
}
// Контролер или друг клас
use App\Models\User;
// Получаване на всички потребители
$users = User::all();
// Получаване на потребител по ID
$user = User::find(1);
// Получаване на потребители с определено условие
$activeUsers = User::where('status', 'active')->get();