#5 Laravel 5: Первая модель

Основы Laravel 5

Начинаем работать с базой данных в Laravel 5.

Контроллер у нас уже есть, представление есть теперь нам нужна база данных, модель и наченем изучение.
Создадим новую базу данных. Название пусть будет laravel5, Character set = UTF8 Unicode, Collation = utf8_unicode_ci.

Теперь настроим фреймворк на работу с базой данных. В корне фреймворка есть файл .env. Здесь хранятся константы которые могут являться для нашего текущего сервера уникальными. Это настройки соединения с базой данных, настройки почты, кэша и тд.

Этот файл следует добавить в список игнорируемых для системы контроля версий. Так как на боевом сервере вероятнее всего настройки у вас будут иные.

Сейчас нас интересуют вот эти четыре строки:

DB_HOST=localhost
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=1

Полагаю из названий констант вам уже всё понятно. Записываем сюда свои настройки подключения к БД.

Что нам требуется для начала работы с БД? Нам нужна Модель, нам нужна миграция - для создания новой таблицы в базе, и нам нужны Seeds - тестовые записи для обучения.

Миграции нам нужны для создания новых таблиц, модификации таблиц и удаления таблиц. И первое что приходит в голову для решения поставленной задачи - создать номый файл миграции для того чтобы создать новую таблицу в базе данных.
Мы поступим немного иначе - создадим Модель. Когда мы создаем модель, то файл миграции создается автоматически.

Создаем модель следующий командой:

php artisan make:model Post

Наша будущая таблица для хранения статей будет называться Posts, а модель же, в единственном числе, Post. Почему так? Да хотя бы потому что такой способ именования уже используется в ларавел (смотрим авторизацию - User). Будем придерживаться заведенного правила. Ну а если у вас иные предпочтения - вы можете называть как вам угодно.

После выполнения команды выше у нас содается модель - app/Post.php и файл миграции - database/migrations/_create_post.php

Файл модели у нас пуст (объявлен лишь класс), а файл можели уже имеет два метода и в них уже есть код.
Здесь мы имеем два метода - up() - с помощью этого метода выполняется создание (модификация и тп) таблицы, и метод down() - откат изменений.

Запишем в метод up() следующий код

public function up()
{
   Schema::create('posts', function(Blueprint $table)
   {
           $table->increments('id');
           $table->string('title')->nullable();
           $table->string('slug')->unique();
           $table->text('excerpt')->nullable();
           $table->text('content')->nullable();
           $table->timestamp('published_at')->nullable();
           $table->boolean('published')->default(false);
           $table->timestamps();
   });
}

Открываем терминл в phpStorm и выполняем следующую команду:

php artisan migrate

После успешного выполнения в нашей БД создадутся четыре таблицы. Таблица migrations является рабочей таблицей фреймворка - трогать ее не надо. Две другие таблицы относятся к работе с пользователями. И последняя наша таблица Posts.

 

 

Добавить отзыв (пожелание, комментарий)