Tutorial de ORM eloquente do Laravel

Tutorial de ORM eloquente do Laravel
Eloquent ORM (Relacionamento de Objeto) é fácil de usar para usuários que sabem como usar objetos no PHP. O ORM é uma característica importante da estrutura do Laravel, considerada uma característica poderosa e cara de Laravel. O ORM trabalha com objetos de banco de dados e é usado para fazer relacionamentos com tabelas de banco de dados. Cada tabela do banco de dados é mapeada com um modelo eloquente específico. O objeto modelo contém vários métodos para recuperar e atualizar dados da tabela de banco de dados. Oroquent ORM pode ser usado com vários bancos de dados implementando o ActiveMethod. Esse recurso simplifica as tarefas relacionadas ao banco de dados, como definir relacionamentos, mais simples, definindo as tabelas de banco de dados. Este tutorial explica como aplicar o Laravel Eloquent ORM em seus projetos de Laravel.

Pré -requisitos

Antes de iniciar este tutorial, você deve executar as seguintes tarefas:

  1. Instale uma nova cópia do projeto Laravel
  2. Faça a conexão do banco de dados

Crie tabelas

Para concluir as etapas do tutorial, você deve criar duas tabelas no banco de dados. Estas são a tabela do fabricante e a tabela de produtos. A relação entre essas duas tabelas será uma a muitas, respectivamente. Execute o seguinte comando para criar o arquivo de migração para criar a estrutura de Fabricantes mesa.

$ php artisan make: migration create_manufacturer_table

Abra o arquivo de migração de banco de dados \ migração pasta e modifique o acima() Método com o seguinte código. A tabela conterá seis campos: ID, nome, endereço, telefone, criado_at e atualizado_at.

função pública up ()

Schema :: Create ('Fabricantes', função (Blueprint $ tabela)
$ tabela-> id ();
$ tabela-> string ('nome')-> exclusivo ();
$ tabela-> text ('endereço');
$ tabela-> string ('telefone');
$ tabela-> timestamps ();
);

Execute o seguinte comando para criar um arquivo de migração para criar as estruturas do produtos mesa.

$ php artesan make: migration create_product_table

Abra o arquivo de migração do banco de dados \ migração pasta e modifique o acima() Método com o seguinte código. A tabela conterá sete campos: id, nome, preço, fabricante_id, criou_at e atualizada_at. Aqui, fabrica_id é uma chave estrangeira para o produtos mesa.

função pública up ()

Schema :: Create ('Products', Function (Blueprint $ tabela)
$ tabela-> id ();
$ tabela-> string ('nome')-> exclusivo ();
$ tabela-> decimal ('preço', 10, 2);
$ tabela-> biginteger ('fabricante_id')-> não assinado ();
$ tabela-> estrangeiro ('fabricante_id')-> referências ('id')-> on ('fabricantes');
$ tabela-> timestamps ();
);

Execute o seguinte comando migrar para criar as tabelas no banco de dados.

$ php artesan migrar

Criar modelos

Você também deve criar dois modelos, nomeados Fabricante e produtos, Para as tabelas criadas anteriormente. Execute o seguinte comando para criar o Fabricante modelo.

$ PHP Artisan Make: Modelo Fabricante

Abra o modelo do aplicativo pasta e modifique o código com o seguinte código. $ preenchível é usado para definir os campos obrigatórios do fabricação mesa. O produtos() o método é usado para definir o tipo de relação com o produtos mesa.

App de espaço para nome;
Use iluminado \ Database \ Eloquent \ Model;
Modelo de fabricante de classe estende

$ preenchável protegido = [
'nome', 'endereço', 'telefone',
];
Produtos de função pública ()

retornar $ this-> hasMany ('App \ Product');

Execute o seguinte comando para criar o produtos modelo.

Abra o modelo do aplicativo pasta e modifique o código com o seguinte código. $ preenchível é usado para definir os campos obrigatórios do produtos mesa. O Fabricantes () o método é usado para definir o tipo de relação com o fabricante mesa.

$ PHP Artisan Make: Model Product
App de espaço para nome;
Use iluminado \ Database \ Eloquent \ Model;
Produto de classe estende o modelo

$ preenchável protegido = [
'nome', 'preço', 'fabricante_id'
];
Fabricantes de funções públicas ()

retornar $ this-> pertencente ('app \ fabricante');

Criar controladores

Execute os seguintes comandos para criar Manucontroller e ProductController.

$ php artesan make: controller manucontroller
$ php artesan make: controller productcontroller

Operações CRUD usando ORM eloquente

As operações do CRUD são mostradas abaixo, adicionando métodos a esses dois controladores.

Inserção de dados

Tabela de fabricante

Adicione o Fabricante modelo no topo do Manucontroller. Em seguida, adicione o seguinte código dentro do Manucontroller modelo para inserir dois registros no fabricante mesa.

função pública create_data ()

Fabricante :: create ([
'Nome' => 'ABC Trade',
'endereço' => '34, mirpur, dhaka ',
'telefone' => '01878562323'
]);
Fabricante :: create ([
'Nome' => 'Rahim Afroze',
'Endereço' => '123, Dhanmondi, Dhaka',
'telefone' => '01878562900'
]);
eco "dados do fabricante inseridos";

Adicione a seguinte rota no rotas \ web.php arquivo para executar o create_data () método.

Rota :: get ('manu', 'manucontroller@create_data');

A saída a seguir aparecerá após entrar no URL abaixo no navegador.

http: // localhost: 8000/manu

Tabela de produtos

Adicione o produtos modelo no topo do ProductController. Em seguida, adicione o seguinte código dentro do ProductController para inserir três registros no produtos mesa.

Índice de função pública ()

Produto :: create ([
'Nome' => 'TV 32 polegadas',
'Preço' => 10000,
'fabricante_id' => 1
]);
Produto :: create ([
'Nome' => 'Walton Fridge',
'Preço' => 20000,
'fabricante_id' => 1
]);
Produto :: create ([
'Nome' => 'IPS 7832',
'Preço' => 25000,
'fabricante_id' => 2
]);
eco "dados do produto inseridos";

Adicione a seguinte rota no rotas \ web.php arquivo para executar o índice() método.

Route :: get ('Product', 'ProductController@index');

A saída a seguir aparecerá após entrar no URL abaixo no navegador.

http: // localhost: 8000/produto

Selecione dados

Adicione o seguinte método dentro do Manucontroller para recuperar todos os registros de a fabricaçãot tabela e os registros relacionados do produtos mesa.

função pública select_data ()

$ fabricantes = fabricante :: all ();
foreach ($ fabricantes como $ man)
$ produtos = produto :: where ('fabricante_id', $ many-> id)-> get ();
eco "Fabricante: $ many-> nome
";
foreach ($ produtos como $ pro)

eco "

Nome do produto: $ pro-> nome

";
eco "

Preço do produto: $ pro-> preço


";


Adicione a seguinte rota no rotas \ web.php arquivo para executar o select_data () método.

Rota :: get ('product_detail', 'manucontroller@select_data');

A saída a seguir aparecerá após entrar no URL abaixo no navegador.

http: // localhost: 8000/product_detail

Atualizar dados

Adicione o seguinte método dentro do Manucontroller Para atualizar o registro do produtos tabela que contém eu ia valor 2.

função pública update_data ()

$ produto = produto :: encontre (2);
Echo "Detalhes do produto antes da atualização:
";
eco "

Nome do produto: $ Product-> Nome

";
eco "

Preço do produto: $ Product-> Preço


";
$ product-> nome = 'Walton Blender';
$ produto-> preço = 1000;
$ product-> save ();
Echo "Detalhes do produto após a atualização:
";
eco "

Nome do produto: $ Product-> Nome

";
eco "

Preço do produto: $ Product-> Preço


";

Adicione a seguinte rota no rotas \ web.php arquivo para executar o update_data () método.

Rota :: get ('update_data', 'manucontroller@update_data');

A saída a seguir aparecerá após entrar no URL abaixo no navegador.

http: // localhost: 8000/update_data

Excluir dados

Adicione o seguinte método dentro do Manucontroller Para excluir vários registros do produtos tabela e um único registro do Fabricantes mesa.

função pública Delete_data ()
// Excluir vários dados
Produto :: Destroy ([1, 2]);
// excluir dados únicos
Fabricante :: Destroy (1);
eco "os dados são excluídos.";

Adicione a seguinte rota no rotas \ web.php arquivo para executar o Delete_data () método.

Rota :: get ('delete_data', 'manucontroller@delete_data');

A saída a seguir aparecerá após entrar no URL abaixo no navegador.

http: // localhost: 8000/delete_data

Vídeo tutorial

Conclusão

Este tutorial mostrou como criar relacionamentos entre tabelas e como implementar operações de CRUD usando o eloqüente ORM. Até os novos usuários do Laravel poderão entender alguns usos básicos do OPM eloquente depois de ler este tutorial.