Создание первой таблицы и связь с базой данных на Laravel 8

Информация в данной статье приведена исходя из того, что у вас уже становлен Laravel 8 на хостинге (см Установка Laravel на хостинг ) а также в файле .env в корне сайта настроено соединение с базой данных MySQL.

Итак, используем миграции для создания нашей первой таблицы tasks и в командной строке введем

php artisan make:migration create_tasks_table 

После выполнение этой команды в папке database/migrations появится новый файл 2021_01_17_161925_create_tasks_table.php с таким кодом

<?php

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

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

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('tasks');
    }
}

Структура будущей таблицы уже прописана в методе up.

Добавим туда еще одно поле 'name', чтобы он выглядел следующим образом

public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->timestamps();
        });
    }

Теперь с помощью команды artisan создаем таблицу в базе данных на основе нашей инструкции (миграции).

php artisan migrate

В результате в нашей базе данных появится новая таблица с полями:

id (с уже готовым autoincrement)

name

created_at

updated_at

Теперь создадим модель Eloquent для дальнейше работы с нашей таблицей.

Для этого используем команду

php artisan make:model Task

Модель будет помещена в каталог app вашего приложения. По умолчанию класс модели пуст. Нам не надо явно указывать, какой таблице соответствует Eloquent модель, потому что подразумевается, что имя таблицы – это имя модели во множественном числе (s на конце). В этом случае модель Task, как предполагается, соответствует таблице базы данных tasks. Вот на что должна быть похожа наша пустая модель:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    use HasFactory;
}

Итак модель создана, в следующей статье мы научимся наполнять таблицу данными и выводить их в представление.

Продолжение