Em Laravel, os modelos (Models) são uma parte fundamental do Eloquent ORM e representam a camada de abstração entre o banco de dados e a lógica do seu aplicativo. Os modelos permitem que você interaja com o banco de dados usando uma abordagem orientada a objetos, facilitando a realização de operações CRUD (Create, Read, Update e Delete) em seus dados.
Definindo um modelo no Laravel:
Para criar um modelo no Laravel, você precisa criar uma classe PHP que estenda a classe Illuminate\\\\Database\\\\Eloquent\\\\Model
. Por convenção, os modelos são colocados no diretório app/Models
, mas você pode organizar seus modelos em qualquer local dentro do diretório app
.
Aqui está um exemplo de como definir um modelo User
no Laravel:
User.php
no diretório app/Models
:// app/Models/User.php
namespace App\\\\Models;
use Illuminate\\\\Database\\\\Eloquent\\\\Model;
class User extends Model
{
// Defina as configurações do modelo aqui
}
Criando modelos com exemplos:
Vamos supor que você tem uma tabela users
no banco de dados e deseja criar um modelo para essa tabela.
Suponha que sua tabela users
tenha as colunas id
, name
, email
e password
. Você pode definir o modelo da seguinte forma:
// app/Models/User.php
namespace App\\\\Models;
use Illuminate\\\\Database\\\\Eloquent\\\\Model;
class User extends Model
{
protected $fillable = ['name', 'email', 'password'];
}
O atributo $fillable
é usado para definir quais colunas podem ser preenchidas em massa (por exemplo, ao usar o método create
).
Suponha que você também tenha uma tabela posts
que está relacionada com a tabela users
através de um relacionamento um para muitos (um usuário pode ter muitos posts). Você pode definir o relacionamento no modelo User
da seguinte forma:
// app/Models/User.php
namespace App\\\\Models;
use Illuminate\\\\Database\\\\Eloquent\\\\Model;
class User extends Model
{
protected $fillable = ['name', 'email', 'password'];
public function posts()
{
return $this->hasMany(Post::class);
}
}
Neste exemplo, definimos o método posts
que retorna um relacionamento um para muitos com o modelo Post
.
Agora que você tem o modelo User
definido, pode usar métodos do Eloquent para interagir com a tabela users
. Aqui estão alguns exemplos:
use App\\\\Models\\\\User;
// Cria um novo usuário
$user = User::create([
'name' => 'João',
'email' => '[email protected]',
'password' => bcrypt('senha123'),
]);
// Recupera todos os usuários
$users = User::all();
// Recupera um usuário por ID
$user = User::find(1);
// Recupera os posts de um usuário específico
$userPosts = $user->posts;
Esses são apenas alguns exemplos básicos de como criar e usar modelos no Laravel. Os modelos do Eloquent fornecem uma maneira elegante e poderosa de trabalhar com o banco de dados em seu aplicativo Laravel, permitindo que você desenvolva facilmente funcionalidades robustas e eficientes para seu projeto. Lembre-se de consultar a documentação oficial do Laravel para obter mais informações detalhadas sobre o uso de modelos e todos os recursos disponíveis no Eloquent ORM.