Eloquent ORM - Query Builder

Created at: 2024-03-10 11:02:02 | Updated at: 2024-08-28 06:22:27

A Laravel, el sistema de consultes es maneja principalment a través d'Eloquent, el seu ORM (Object-Relational Mapping), i el Query Builder. Tots dos proporcionen una manera convenient i segura dinteractuar amb la base de dades. Aquí et dono una visió general de com funcionen:

Eloqüent ORM

Eloquent és l'ORM per defecte de Laravel i permet treballar amb la base de dades usant models d'objectes. Cada taula de la base de dades té un "Model" corresponent que s'utilitza per interactuar amb aquesta taula.

Exemple bàsic:

Si tens una taula users, pots crear un model User. Aquest model et permet fer operacions a la taula usersde manera molt senzilla.

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    // ...
}

Uso de Eloquent para consultas:

// Obtener todos los usuarios
$users = User::all();

// Obtener un usuario por ID
$user = User::find(1);

// Consultas con condiciones
$users = User::where('active', 1)
             ->orderBy('name', 'desc')
             ->take(10)
             ->get();

Generador de consultes

El Query Builder de Laravel és una interfície més directa a la base de dades que permet fer consultes sense necessitat de models Eloquent. És útil quan no necessites tota la funcionalitat d'Eloquent o quan treballes amb taules que no tenen models associats.

Exemple bàsic:

use Illuminate\Support\Facades\DB;

$users = DB::table('users')->get();

// Consulta con condiciones
$users = DB::table('users')
           ->where('votes', '>', 100)
           ->get();

Diferències Clau

Millors Pràctiques

Laravel proporciona una gran flexibilitat i potència en el sistema de consultes, facilitant tant tasques simples com operacions complexes a la base de dades.

No valid image directory found or the category is not valid for the gallery.

Back to Posts
Eloquent ORM - Query Builder

Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.