Миграция не выполнена
php artisan make:model project
Это ошибка, которая, как я полагаю, у вас не создан файл миграции (см. Раздел Future Reference
ниже, почему я так сказал), поскольку в сообщении об ошибке указано, что столбец не найден.
Чтобы лучше решить эту проблему, я предлагаю вам создать файл миграции следующим образом:
php artisan make:migration create_projects_table
Вы видите внутри database/migrations
, есть новый файл с именем 2019_01_11_153037_create_projects_table
что-то. Время и дата отличаются от ваших, но основное внимание уделяется 'create_projects_table'
Внутри файла миграции вы можете видеть функцию up()
. Скопируйте этот код
public function up()
{
Schema::create('projects', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->timestamps();
});
}
}
Наконец, выполните миграцию, и вы должны увидеть перенесенное сообщение об успехе.
php artisan migrate
Ссылка на будущее
В будущем, чтобы сэкономить время, вы можете создать модель вместе с ее миграцией следующим образом:
php artisan make:model Project -m
Обратите внимание на тег -m
, который создает файл миграции для вас. После этого приступите к редактированию файла миграции (например, добавьте в него столбцы, как показано ранее).
Узнайте больше о миграции Laravel здесь: https://laravel.com/docs/5.7/migrations
Еще одно примечание, ознакомьтесь с соглашением Laravel по Eloquent Model, чтобы Laravel мог исполнить его магию:
https://laravel.com/docs/5.7/eloquent#eloquent-model-conventions
Ваша project
модель должна быть Project
Редактировать
Если вы ранее выполняли миграцию, запустите другую миграцию (нет никаких ограничений на то, сколько вы можете выполнить миграцию).
php artisan make:migration add_column_title_to_projects_table
И создан новый файл миграции. Внутри функции up()
добавьте этот код:
public function up()
{
Schema::table('projects', function (Blueprint $table) {
$table->string('title');
});
}
Наконец, выполните php artisan migrate