Я изучаю внутреннюю разработку с помощью фреймворка Laravel Lumen, и я пишу класс заполнения базы данных, следуя документации Laravel < / а>. Ниже приведены коды:
Модель app\Photo.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Photo extends Model
{
protected $fillable = [
'link', 'category_id', 'date'
];
}
Модель завода database\factories\ModelFactory.php
$factory->define(App\Photo::class, function (Faker\Generator $faker) {
return [
'link' => 'https://placehold.it/' . mt_rand(200, 400),
'category_id' => rand(1, 6),
'date' => date("Y-m-d", mt_rand(1263618000, 1481428800))
];
});
DatabaseSeeder
и PhotoTableSeeder
классы database\seeds\DatabaseSeeder.php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call('PhotoTableSeeder');
}
}
class PhotoTableSeeder extends Seeder
{
public function run()
{
factory(App\Photo::class, 10)->create();
}
}
Ранее имя таблицы в базе данных MySQL было photos
, и заполнение отлично работало с помощью команды php artisan db:seed
:
Посеяно: PhotoTableSeeder
Но когда я изменил имя таблицы на photo
и запустил ту же команду, возникли следующие ошибки:
[Illuminate \ Database \ QueryException] SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица 'homestead.photos' не существует (SQL: вставить в `photos` (` link`, `category_id`,` date` ) значения (https://placehold.it/259, 3, 2012-05-28))
[PDOException] SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица 'homestead.photos' не существует
Я не знаю, почему все еще называют старое имя таблицы. Я предполагаю, что он был где-то сохранен или я что-то упустил, я не могу понять причину ошибки.
migrations
не видно .. хорошо , чтобы немного уточнить, миграции, используемые для создания таблицы, модели, используемые для представления одной строки в таблице, в то время как factory для создания семян, в то время как сеялки вставляют семя в базу данных .. - person Bagus Tesa   schedule 20.12.2016protected $table
извините за отклонение в сторону .. - person Bagus Tesa   schedule 20.12.2016DB::table('photo')
для выбора указанной таблицы. - person solarhell   schedule 20.12.2016