在 Laravel 中播种时调用未定义的方法 Directory::create()
Call to undefined method Directory::create() when seeding in Laravel
我正在尝试在 Laravel 中播种数据库。我正在使用 faker 为数据库播种,但出现以下错误。
Call to undefined method Directory::create()
下面是我在 table 种子文件中编写的代码。基本上,我想创建一个包含姓名和电话号码的种子。
下面是我写的代码。
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
class DirectoriesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//Directory::truncate();
$faker = \Faker\Factory::create();
for ($i = 0; $i < 50; $i++) {
Directory::create([
'name' => $faker->name,
'number' => $faker->PhoneNumber,
]);
}
}
}
我认为Directory
是这里的典范。
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
use App\Directory;
....
您需要使用文件顶部的模型
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
use App\Directory;
或者使用命名空间调用模型
App\Directory::create([
'name' => $faker->name,
'number' => $faker->PhoneNumber,
]);
并在模型
中编辑您的$fillable
属性定义
应该是protected
而不是protect
class Category extends Model
{
protected $fillable = ['name', 'number'];
}
我也有类似的经历。在执行任何种子操作之前,请确保已安装并启用 Php Curl。您可以通过键入以下命令来安装和启用。
sudo apt install php-curl
我正在尝试在 Laravel 中播种数据库。我正在使用 faker 为数据库播种,但出现以下错误。
Call to undefined method Directory::create()
下面是我在 table 种子文件中编写的代码。基本上,我想创建一个包含姓名和电话号码的种子。 下面是我写的代码。
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
class DirectoriesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//Directory::truncate();
$faker = \Faker\Factory::create();
for ($i = 0; $i < 50; $i++) {
Directory::create([
'name' => $faker->name,
'number' => $faker->PhoneNumber,
]);
}
}
}
我认为Directory
是这里的典范。
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
use App\Directory;
....
您需要使用文件顶部的模型
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
use App\Directory;
或者使用命名空间调用模型
App\Directory::create([
'name' => $faker->name,
'number' => $faker->PhoneNumber,
]);
并在模型
中编辑您的$fillable
属性定义
应该是protected
而不是protect
class Category extends Model
{
protected $fillable = ['name', 'number'];
}
我也有类似的经历。在执行任何种子操作之前,请确保已安装并启用 Php Curl。您可以通过键入以下命令来安装和启用。
sudo apt install php-curl