使用db:seed

时间:2015-07-08 12:42:48

标签: php mysql laravel

我收到了一位同事的一个项目,它正在Laravel写作,我没有任何经验。现在有了一个教程,我能够创建一个数据库和表格加上一些数据然而当使用php artisian db:seed时我两次收到同样的错误,告诉我我错过Illuminate\databas\eloquent\model:setAttribute()的参数2,我找不到我的错,这就是为什么我决定在这里问,也因为我是一个菜鸟。

票证表

CREATE TABLE IF NOT EXISTS `ticket` (
  `idTickets` int(10) unsigned NOT NULL,
  `reference` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `mail` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `content` longtext COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

是票证表更长并且有一些主键,只是为了以防万一而显示我的表。

迁移代码:

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTicketsTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('ticket', function(Blueprint $table)
        {
            $table->increments('id');
                        $table->string('reference');
                        $table->string('subject');
                        $table->string('name');
                        $table->string('mail');
                        $table->longtext('content');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('ticket');
    }

}

用户数据:

<?php

// Composer: "fzaninotto/faker": "v1.3.0"DB::table('users')->truncate();
use Faker\Factory as Faker;

class SeedTicketsTableTableSeeder extends Seeder {

    public function run()
    {
        DB::table('ticket')->truncate();

        $tickets = [
            [
                            `reference`   => 'randomcode1',
                            `subject`   => 'test',
                            `name`      => 'testor',
                            `mail`      => 'testor@mail.nl',
                            `content`   => 'Lorem ipsum dolor sit amet'

            ]
        ];

        foreach($tickets as $ticket){
            Ticket::create($ticket);
        }

        foreach(range(1, 10) as $index)
        {
            SeedTicketsTable::create([

            ]);
        }
    }

}

我还在databaseseeder.php = $this->call('SeedTicketsTableTableSeeder');

中添加了以下一行

我错过了一些代码还是仅仅是一个简单的拼写错误?在此先感谢您的帮助。我检查了this相关问题,但这似乎没什么帮助。

修改

按内容添加'但我仍然收到了错误。

1 个答案:

答案 0 :(得分:2)

错字。失踪&#39;在线&#39;内容&#39;。

use Faker\Factory as Faker;

class SeedTicketsTableTableSeeder extends Seeder {

    public function run()
    {
        DB::table('ticket')->truncate();

        $tickets = [
            [
                            `reference`   => 'randomcode1',
                            `subject`   => 'test',
                            `name`      => 'testor',
                            `mail`      => 'testor@mail.nl',
                            `content`   => 'Lorem ipsum dolor sit amet'

            ]
        ];

        foreach($tickets as $ticket){
            Ticket::create($ticket);
        }

        foreach(range(1, 10) as $index)
        {
            SeedTicketsTable::create([

            ]);
        }
    }

}