Configurando Model no Laravel 5.4


Esse post irei passar o algumas configurações do nosso Model, como tabelas conexões e etc.!


Antes de fazer esse post eu ficava me perguntando "eu terei que refazer todo o meu banco de dados para se adequar ao Laravel ?", e agora no momento de escrever esse post sei que não! Esse post será atualizado sempre que eu aprender algo novo então deixe ele nos favoritos e siga nas redes sociais para ficar ligado nas atualizações!

O Laravel trabalha com Eloquent e isso é algo que facilita Muito a nossa vida! Inicialmente eu sempre me perguntava que parada de eloquent é essa e hoje eu sei um pouquinho e pretendo deixar aqui para vocês (e para minhas consultas).

O Eloquent ORM incluído com o Laravel oferece uma implementação de ActiveRecord bela e simples para trabalhar com seu banco de dados. Cada tabela de banco de dados tem um "Modelo" correspondente que é usado para interagir com essa tabela. Os modelos permitem consultar dados em suas tabelas, bem como inserir novos registros na tabela. (link Documentação)
Agora que já dei uma pincelada sobre a teoria vamos para um pouco de pratica.

Criando um Model:

Para criamos um model basta executar o seguinte comando:
php artisan make:model Cliente

Esse comando irá criar o Model Cliente, simples e fácil agora caso queira que já seja criado a migration basta adicionar o parâmetro "-m":
php artisan make:model Cliente -m 
Com isso será criado uma migration dentro de database/migrations "2017_08_30_224705_create_cliente_table.php" com algumas colunas já configuradas (id e timestamp).
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('clientes', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('clientes');
    }
}
Agora é só adicionar as suas colunas!
Sempre que criar um novo Model crie ele no seu singular por questão de padrão, e também porque por padrão o Model se relaciona ao nome do modelo em plural, exemplo: o Model Cliente se relaciona com a tabela clientes por padrão.
Mas eu não tinha falado que não é necessário refazer o meu banco ou tabelas para que funcione no Laravel? Agora sim vamos a parte que queria compartilhar com vocês!

Quando rodamos o php artisan make:model Cliente, é criado o seguinte modelo dentro de app:
namespace App;

use Illuminate\Database\Eloquent\Model;

class Cliente extends Model
{
    //
}

Alterando o Model

Com isso já temos o Model Clientes criado e funcionando, como não fizemos nenhuma alteração ele por padrão se relaciona ao banco configurado como default no database.php, a sua chave primaria é "id" e sua tabela padrão e "clientes". Agora como mudar isso?

Basta adicionarmos 3 variáveis protegidas em nosso model.
protected $connection = 'mysql2'; // define o banco de dados desse model
protected $table = 'db_cliente'; // define o nome da tabela para o Model.
protected $primaryKey = 'id_cliente'; // define a chave primaria do model.

  • protected $connection = 'mysql2';
    • $connection ='mysql2' irá usar a conexão definida no database.php, nesse caso criei o mysql2, mas podendo se conectar a qualquer tipo de banco de dados.
  • protected $table = 'db_cliente';
    • $table = 'db_cliente' irá determinar o nome da tabela que o model irá se relacionar.
  • protected $primaryKey = 'id_cliente';
    • $primaryKey = 'id_cliente' irá definir o nome da coluna com a chave primaria.
Adicionando alguma dessas variáveis alteramos as configurações padrões do nosso model, eu iria também escrever sobre o hasMany, belongsTo e belongsToMany, mas acho que não é o foco desse post caso alguém queira uma continuação e explicação deles comenta aí que eu também faço!

E isso é tudo pessoal aqui dei uma breve explicação do que é o Model e como cria-lo utiliza-lo e por fim as configurações dele. Espero que tenham gostado do post e qualquer dúvida basta comentar aqui em baixo que ajudo sempre que puder!



Se vocês gostaram desse Post não deixe de compartilhar com seus amigos!!!
E para não perder nenhuma novidade nos sigam nas redes sociais:
Twitter: @Bulfaitelo
Facebook: Bulfaitelo Project
Blogger: Bulfaitelo Project
Share on Google Plus

About Thiago Rodrigues

Formado em Sistema de Informação pela Faculdade Paraíso
O que falar de mim? Não á muito, mas garanto que meu objetivo aqui é somente ajudar!
Atualmente desenvolvendo o projeto do QiEstudo.

Comentários
0 Comentários

0 comentários:

Postar um comentário