Laravel雄辩的传承

时间:2016-11-05 13:27:47

标签: laravel inheritance eloquent

我是使用Laravel和Eloquent的新手,我曾经在php我的php项目中使用Symfony2和Doctrine2,所以我在使用Eloquent时遇到了一些问题因为我认为它与ORM Doctrine2不同,所以不浪费更多时间,这是我的问题:

迁移文件:

测验表格迁移文件:

   public function up()
{
    Schema::create('quizzes', function (Blueprint $table) {
        $table->increments('id');
        $table->text('title');
        $table->text('description')->nullable();
    });
}

选项表格迁移文件:

    public function up()
{
    Schema::create('choices', function (Blueprint $table) {
        $table->increments('id');
        $table->text('title')->nullable();
        $table->text('description')->nullable();
        $table->integer('quiz_id');
    });
}

quizzes_english:

 public function up()
{
    Schema::create('quizzes_english', function (Blueprint $table) {
    });
}

choices_english:

public function up()
{
    Schema::create('choices_english', function (Blueprint $table) {
    });
}

这两个文件不包含任何列,因为我在模型中使用了继承(QuizEnglish扩展了Quiz,ChoiceEnglish扩展了Choice),但我不确定这是正确的思维方式!

底线=>当我使用命令php artisan migration时,我得到一个PDOException,所以我认为,因为我是Laravel / Eloquent中的新手,问题可能很明显,我无法看到它:p

编辑: 我运行php artisan migrate命令时得到的消息:

[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access     violation: 1064 You have an error in y se near ') default character set utf8 collate utf8_unicode_ci' at line 1 (SQL: [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in y se near ') default character set utf8 collate utf8_unicode_ci' at line 1

提前致谢。

1 个答案:

答案 0 :(得分:1)

创建模型基于迁移(数据库表)而非相反

Schema::create('quizzes_english', function (Blueprint $table) {});
Schema::create('choices_english', function (Blueprint $table) {});

您需要在此处提供。或删除它们