O Eloquent é o ORM (Object-Relational Mapping) padrão fornecido pelo Laravel. Ele permite que você trabalhe com bancos de dados usando uma abordagem orientada a objetos, tornando a interação com o banco de dados mais fácil, intuitiva e segura. O Eloquent mapeia tabelas do banco de dados para modelos PHP, permitindo que você realize operações CRUD (Create, Read, Update e Delete) sem precisar escrever consultas SQL manualmente.

Principais conceitos do Eloquent ORM:

  1. Modelos (Models): Um modelo é uma representação da tabela do banco de dados em forma de classe PHP. Cada modelo estende a classe Illuminate\\\\Database\\\\Eloquent\\\\Model. Por meio dos modelos, você pode realizar consultas no banco de dados, inserir, atualizar e excluir registros.
  2. Convenções de nomenclatura: O Eloquent segue algumas convenções de nomenclatura para mapear modelos às tabelas do banco de dados. Por exemplo, se você tiver um modelo chamado User, ele será associado à tabela users por padrão.
  3. Relacionamentos: O Eloquent suporta diversos tipos de relacionamentos entre tabelas, como relacionamento um para um (hasOne), relacionamento um para muitos (hasMany), relacionamento muitos para muitos (belongsToMany) e outros. Isso permite que você defina facilmente as associações entre modelos e recupere dados relacionados com facilidade.

Exemplos de uso do Eloquent ORM:

  1. Criando um novo registro:
use App\\\\Models\\\\User;

// Criação de um novo usuário
$user = new User();
$user->name = 'João';
$user->email = '[email protected]';
$user->password = bcrypt('senha123');
$user->save();
  1. Recuperando registros:
use App\\\\Models\\\\User;

// Recupera todos os usuários
$users = User::all();

// Recupera um usuário por ID
$user = User::find(1);

// Recupera usuários com um filtro
$filteredUsers = User::where('status', 'ativo')->get();
  1. Atualizando registros:
use App\\\\Models\\\\User;

// Recupera um usuário pelo ID
$user = User::find(1);

// Atualiza o nome do usuário
$user->name = 'Novo Nome';
$user->save();
  1. Excluindo registros:
use App\\\\Models\\\\User;

// Recupera um usuário pelo ID
$user = User::find(1);

// Exclui o usuário
$user->delete();
  1. Relacionamentos:

Por exemplo, suponha que você tenha uma tabela de posts e uma tabela de comentários, onde um post pode ter vários comentários (relacionamento um para muitos):

use App\\\\Models\\\\Post;

class Post extends Model
{
    // Relacionamento um para muitos com a tabela de comentários
    public function comments()
    {
        return $this->hasMany(Comment::class);
    }
}

// Recupera todos os posts e seus comentários
$posts = Post::with('comments')->get();

Esses são apenas alguns exemplos de como usar o Eloquent ORM no Laravel. O Eloquent oferece muitos recursos avançados, como relacionamentos polimórficos, mutators, accessors, entre outros, que tornam o trabalho com o banco de dados mais eficiente e produtivo. Você pode consultar a documentação oficial do Laravel para obter mais informações detalhadas sobre o Eloquent ORM e todos os seus recursos poderosos.

Estude+

Laravel - The PHP Framework For Web Artisans