Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Crud com Laravel - #3 Banco de Dados

08/01/2020

Na aula de hoje trabalharemos com a criação do banco de dados para uso em conjunto com o framework de PHP Laravel.

Banco de dados com Laravel

No nosso projeto utilizaremos três arquivos que ficarão assim:
.env

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:lnk/PzkZpup0zy5PddnTJOsEjlo51X4NtaZMxZya+ko=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
/config/database.php

Um detalhe interessante é que ao criar o banco de dados, o collation deve ser o mesmo setado nesse arquivo. No caso utilizaremos o collation utf8mb4_unicode_ci e engine deve ser setado como InnoDB

/app/Providers/AppServiceProvider.php

VAmos alterar essa classe para que aceite colunas com comprimento de caracteres:

<?php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {

    }

    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}

Migrations e Model

As migrations são arquivos de configuração para banco de dados. Iremos criar o banco de dados e o model relativo ao nosso sistema. Para isso, acessaremos o terminal (cmd) e digitaremos o comando:

php artisan make:model Models\\ModelBook -m

O nosso arquivo ModelBook ficará assim:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class ModelBook extends Model
{
    protected $table='book';
}

O nosso arquivo migration ficará assim:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateModelBooksTable extends Migration
{
    public function up()
    {
        Schema::create('book', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('id_user')->unsigned();
            $table->foreign('id_user')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
            $table->string('title');
            $table->integer('pages');
            $table->double('price',10,2);
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('book');
    }
}

Ao fim vamos rodar o comando no nosso terminal para criação do banco de dados:

php artisan migrate

Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Crud com Laravel - #2 MVC, Templates e Rotas
No tutorial de hoje abordaremos a estrutura MVC, os templates e as rotas no framework Laravel. Entenderemos como funciona esses aspectos no sistema.
Saiba mais!
Crud com Laravel - #4 Read
Neste tutorial vamos fazer a leitura dos dados provenientes do banco de dados através do Laravel. Para isso, utilizaremos as tabelas users e book.
Saiba mais!
Crud
Nesse curso aprenderemos como desenvolver uma ClassCrud com conexão ao banco de dados mysql através dos conectores PDO e MYSQLi.
Saiba mais!