Eloquent ORM e Modelos
Dominando Modelos e Relacionamentos no Laravel

Search for a command to run...
Dominando Modelos e Relacionamentos no Laravel

No comments yet. Be the first to comment.
O que é o ngrok? Ngrok permite expor um serviço local (por exemplo, um servidor web rodando no seu PC) para a internet por meio de um túnel seguro, sem precisar configurar redirecionamento de portas no roteador ou DNS complicada. Requisitos prévios...

Se você quer aprender Linux, mas não quer instalar uma máquina virtual ou usar dual boot, uma ótima opção é utilizar o Play with Docker (PWD). Ele fornece um ambiente sandbox online, gratuito, onde podemos criar instâncias Linux para praticar comando...

Se você está buscando uma forma rápida e prática de tirar prints no Pop!_OS, o Flameshot é uma das melhores opções. Ele é leve, poderoso e altamente personalizável. Neste tutorial, você vai aprender como instalar e criar um atalho de teclado para usa...

Se você está tentando clonar um repositório do GitHub e se deparou com o seguinte erro: git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the reposito...

📦 Requisitos Ambiente com suporte a Node.js e npm (como o StackBlitz ou sua máquina local) Um editor de código (VS Code, StackBlitz, etc.) 1. Inicializar projeto Se estiver começando do zero (localmente): mkdir meu-projeto-tailwind cd meu-proj...

Eloquent ORM (Object-Relational Mapping) é o mapeador de objetos-relacionais do Laravel, que facilita a interação com o banco de dados. Com o Eloquent, você pode trabalhar com seus dados de maneira intuitiva e orientada a objetos, sem precisar escrever consultas SQL complexas.
Os modelos no Eloquent representam as tabelas do banco de dados. Cada modelo é responsável por interagir com uma tabela específica e suas respectivas colunas.
Você pode criar um modelo usando o Artisan CLI:
php artisan make:model NomeDoModelo
Isso criará um arquivo de modelo em app/Models/NomeDoModelo.php. Um modelo básico pode parecer assim:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class NomeDoModelo extends Model
{
use HasFactory;
}
Por padrão, o modelo assume que a tabela associada tem o nome pluralizado em inglês do nome do modelo (por exemplo, um modelo User se relaciona à tabela users). Você pode especificar explicitamente a tabela usando a propriedade $table:
<?php
class NomeDoModelo extends Model
{
protected $table = 'nome_da_tabela';
}
Com um modelo definido, você pode realizar várias operações de banco de dados. Aqui estão alguns exemplos:
Recuperando todos os registros:
<?php $users = User::all();
Encontrando um registro por ID:
<?php $user = User::find(1);
Criando um novo registro:
<?php
$user = new User;
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();
Atualizando um registro existente:
<?php
$user = User::find(1);
$user->name = 'Jane Doe';
$user->save();
Excluindo um registro:
<?php
$user = User::find(1);
$user->delete();
O Eloquent facilita a definição e o trabalho com relacionamentos entre modelos. Existem vários tipos de relacionamentos, incluindo one-to-one, one-to-many e many-to-many.
Um relacionamento one-to-one ocorre quando uma linha em uma tabela está associada a exatamente uma linha em outra tabela.
Definindo um relacionamento one-to-one:
<?php
class User extends Model
{
public function phone()
{
return $this->hasOne(Phone::class);
}
}
class Phone extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
Usando um relacionamento one-to-one:
<?php
$user = User::find(1);
$phone = $user->phone;
Um relacionamento one-to-many ocorre quando uma linha em uma tabela pode estar associada a várias linhas em outra tabela.
Definindo um relacionamento one-to-many:
<?php
class Post extends Model
{
public function comments()
{
return $this->hasMany(Comment::class);
}
}
class Comment extends Model
{
public function post()
{
return $this->belongsTo(Post::class);
}
}
Usando um relacionamento one-to-many:
<?php
$post = Post::find(1);
$comments = $post->comments;
Um relacionamento many-to-many ocorre quando várias linhas em uma tabela estão associadas a várias linhas em outra tabela. Esse tipo de relacionamento usa uma tabela intermediária.
Definindo um relacionamento many-to-many:
<?php
class User extends Model
{
public function roles()
{
return $this->belongsToMany(Role::class);
}
}
class Role extends Model
{
public function users()
{
return $this->belongsToMany(User::class);
}
}
Usando um relacionamento many-to-many:
<?php
$user = User::find(1);
$roles = $user->roles;
Sincronizando relacionamentos many-to-many:
<?php
$user = User::find(1);
$user->roles()->sync([1, 2, 3]);
O Eloquent ORM é uma ferramenta poderosa que facilita a interação com o banco de dados de forma intuitiva e eficiente. Com a definição de modelos e relacionamentos, você pode manipular os dados da sua aplicação de maneira estruturada e orientada a objetos. Nos próximos tópicos, exploraremos mais funcionalidades avançadas do Laravel, incluindo migrations, seeders e factories, para facilitar o desenvolvimento e a gestão do banco de dados.