/ / Laravel: Diferença entre o construtor Schema e Eloquent alguém? - banco de dados, esquema, laravel, construtor, eloquente

Laravel: Diferença entre o construtor Schema e Eloquent alguém? - banco de dados, esquema, laravel, construtor, eloquente

Eu sou novo no Laravel. Então, se eu posso gerar tabelas usando o construtor Schema e, em seguida, consultar dados usando consultas como DB::table("user")->find(1), onde Eloquent se encaixa em toda a cena? Que finalidade serve?

Respostas:

6 para resposta № 1

Eloquente é o nome dado ao ORM (Mapeamento relacional de objeto) que vem com o Laravel. Eloquent permite que você interaja com suas tabelas como se fossem objetos, no entanto Eloquent não tem conhecimento das colunas reais que você tem em sua mesa.

Vamos considerar o simples User modelo. Queremos que este modelo consulte registros em nosso users mesa.

class User extends Eloquent {

protected $table = "users";

}

Que existe um muito modelo simples. Agora, em vez de consultar assim.

$user = DB::table("user")->find(1);

Você pode consultar assim.

$user = User::find(1);

O próprio Eloquent usa seu próprio construtor de consultas, mas recorre ao construtor de consultas padrão. Isso significa que ele tem todos os métodos disponíveis no construtor de consultas e muito mais.

Os benefícios aqui são:

  1. Você não precisa especificar o nome da sua tabela em todas as chamadas.
  2. O código lê muito melhor, é açúcar sintático.
  3. Você pode criar relações complexas entre tabelas e usar o carregamento antecipado.
  4. Você pode usar funcionalidades como proteção de atribuição em massa e setters / getter.
  5. Você obtém todos os benefícios de usar um construtor de consultas, para alternar facilmente entre o DBMS.

Eu só toquei em Eloquent. Há muito mais nisso. Eu sugiro que você dê uma olhada nos seguintes recursos.