【问题标题】:Laravel 4 - Seeding throwing errorsLaravel 4 - 播种错误
【发布时间】:2014-04-23 12:48:19
【问题描述】:

我想知道是否有人可以帮助我。

我有一个种子文件,我已经像文档一样设置了它,但是当我运行它时,我收到以下错误

PHP Fatal error:  Class 'Plan' not found 

我的种子运行函数如下:

DB::table('plans')->delete();

Plan::create(

    array(
        'slug' => 'free',
        'planname' => 'Free',
    )

);

任何帮助将不胜感激。

干杯,

【问题讨论】:

  • 您的 Plan 类是否存在于命名空间中?
  • @seblaze - 嘿,对不起,我是 Laravel 的新手,不太确定这意味着什么……我只是按照 laravel 文档中的说明进行操作
  • 您的 Plan 课程在哪里?你能附上它吗?全部?
  • 我没有任何plan类...我只是创建了迁移文件来创建Plans表,然后将上面的代码添加到PlanTableSeeder.php文件中
  • 您需要创建一个名为 Plan 的模型。

标签: laravel laravel-4


【解决方案1】:

根据您的评论,错误似乎是因为您使用了课程计划而没有创建课程计划。

首先您需要创建一个名为 Plan 的模型。

转到app/models 文件夹,然后创建一个名为:Plan.php 的文件。

Plan.php里面放:

<?php

class Plan extends Eloquent {

    protected $table = 'plans';
    protected $fillable = array('slug', 'planname');

}

$fillable 属性接受表中的列名数组。这是为了允许插入数据并避免大量分配。

然后重新运行你的种子命令。

有关 Laravel 模型的更多信息,请访问eloquent docs

【讨论】:

    【解决方案2】:

    根据您的回复,请创建一个计划模型 Here is how

    您还需要根据您希望的计划方式创建迁移。 Here is how

    运行迁移并创建模型后,您可以创建播种器。

    你会有这样的东西:

    use Illuminate\Auth\UserInterface;
    use Illuminate\Auth\Reminders\RemindableInterface;
    
    class Plan extends Eloquent  {
    
    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'plans';
    ...
    
    }
    

    请记住您的模型所需的所有属性,以便您的数据库种子不会有任何问题(受保护的属性等)

    Read here about a tutorial

    【讨论】:

      猜你喜欢
      • 2014-11-26
      • 1970-01-01
      • 2014-07-28
      • 2013-08-24
      • 2017-08-02
      • 2017-07-21
      • 1970-01-01
      • 2014-08-26
      • 2014-12-08
      相关资源
      最近更新 更多