Основы 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/
Файл модели у нас пуст (объявлен лишь класс), а файл можели уже имеет два метода и в них уже есть код.
Здесь мы имеем два метода - 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.