Sobes.tech
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();