Основы Laravel 5
Всё для работы с базой у нас есть. И для того чтобы начинать наши первые выборки нам нужны тестовые записи в таблице. Для автоматизации этого процесса в Laravel есть функционал именуемый как Seeds.
Исполняемый файл находится в database/seeds/DatabaseSeeder.php
Открываем этот файл в phpStorm и ниже класса и добавляем новый класс -
class PostsSeeder extends Seeder { public function run() { DB::table('Posts')->delete(); Post::create([ 'title' => 'First Post', 'slug' => 'first-post', 'excerpt' => 'First Post body', 'content' => 'Content First Post body', 'published' => true, //'published_at' => DB::raw('NOW()'), // для DateTime 'published_at' => DB::raw('CURRENT_TIMESTAMP'), // для timestamp ]); Post::create([ 'title' => 'Second Post', 'slug' => 'second-post', 'excerpt' => 'Second Post body', 'content' => 'Content Second Post body', 'published' => false, 'published_at' => DB::raw('CURRENT_TIMESTAMP'), ]); Post::create([ 'title' => 'Third Post', 'slug' => 'third-post', 'excerpt' => 'Third Post body', 'content' => 'Content Third Post body', 'published' => false, 'published_at' => DB::raw('CURRENT_TIMESTAMP'), ]); } }
С помощью класса PostsSeeder мы сначала очищаем таблицу Posts и затем добавляем три тестовых статьи.
Чтобы наш новый класс отработал, надо записать это в главный класс Сидов -
public function run() { Model::unguard(); // $this->call('UserTableSeeder'); $this->call('PostsSeeder'); }
Для того чтобы мы могли успешно обращаться к модели Post, надо прописать ее в секции use.
Но сначала давайте перенесем наши модели в папку app/Models/
Создаем папку и переносим туда файлы User.php и Post.php
Открываем файл Post.php и меняем ему namespase на
namespace App\Models;
Модель User пока трогать не будем - всему свое время. Как дойдем до работы с пользователями - получим ошибку - тогда и исправим.
Теперь в файле DatabaseSeeder.php укажем модель Post -
use App\Models\Post;
Теперь у нас всё готово для запуска Seeds. В phpStorm открываем терминал и выполняем команду -
php artisan db:seed
Если все правильно прописали - то все пройдет без ошибок. Проверяем наличие записей в таблице posts.