【问题标题】:Call to undefined method Directory::create() when seeding in Laravel在 Laravel 中播种时调用未定义的方法 Directory::create()
【发布时间】:2018-07-27 08:03:14
【问题描述】:

我正在尝试在 Laravel 中播种数据库。我正在使用 faker 为数据库播种,但出现以下错误。

Call to undefined method Directory::create()

以下是我在表格种子文件中编写的代码。基本上,我想创建一个名字和电话号码的种子。 下面是我写的代码。

<?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 课程。那是扩展 eloquent 模型的模型吗?

标签: php laravel laravel-5 faker laravel-seeding


【解决方案1】:

我也有类似的经历。确保在执行任何种子操作之前安装并启用了 Php Curl。您可以通过键入以下命令来安装和启用。

sudo apt install php-curl

【讨论】:

    【解决方案2】:

    你需要使用文件顶部的模型

    <?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'];
     }
    

    【讨论】:

      【解决方案3】:

      我认为Directory 是这里的模型。

      <?php
      
      use Illuminate\Database\Seeder;
      use Faker\Factory as Faker;
      use App\Directory;
      ....
      

      【讨论】:

      • 我刚刚运行了它,现在我的模型中出现以下错误。
      • Parse error: syntax error, unexpected 'protect' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST)
      • 我的模型如下:class Directory extends Model { protect $fillable = ['name', 'number']; }
      • protect 必须是 protected
      猜你喜欢
      • 2020-07-27
      • 2014-06-24
      • 2023-03-07
      • 2021-09-01
      • 2019-10-15
      • 1970-01-01
      • 2021-10-11
      • 2019-11-02
      • 2018-10-28
      相关资源
      最近更新 更多