dongsanhu4784 2016-04-08 16:29
浏览 10

Eloquent不通过关联插入不是整数

I have created the following migration for lang:

class CreateLangTable extends Migration
{

public function up()
{
    Schema::create('lang', function (Blueprint $table) {
        $table->string('code')->primary();
        $table->string('name');
        $table->timestamps();
    });
}


}
class CreateMachineryCategoriesTranslationTable extends Migration
{

public function up()
{
    Schema::create('machinery_categories_translation', function (Blueprint $table) {
        $table->increments('id');
        $table->string('lang_code')->index();
        $table->foreign('lang_code')->references('code')->on('lang')->onDelete('cascade')->onUpdate('cascade');
        $table->integer('machinery_categories_id')->unsigned()->index();
        $table->foreign('machinery_categories_id')->references('id')->on('machinery_categories')->onDelete('cascade')->onUpdate('cascade');
        $table->string('name')->nullable();
        $table->timestamps();
    });
}

But when I try to seed with:

class MachineryCategoriesTranslationTableSeeder extends Seeder
{

public function run()
{
    $el = Lang::find('el');
    $en = Lang::find('en');

    $loaderCat = new MachineryCategory();
    $loaderCat->save();

    $loaderCatEl = new MachineryCategoriesTranslation();
    $loaderCatEl->machineryCategories()->associate($loaderCat);
    $loaderCatEl->lang()->associate($el);
    $loaderCatEl->name = 'Φορτωτές';
    $loaderCatEl->save();

    $loaderCatEn = new MachineryCategoriesTranslation();
    $loaderCatEn->machineryCategories()->associate($loaderCat);
    $loaderCatEn->lang()->associate($en);
    $loaderCatEn->name = 'Loaders';
    $loaderCatEn->save();
}

}

I get the error

 SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or    update a child row: a foreign key constraint fails (`ps4cat`.`machinery_categories_translation`, CONSTRAINT `machinery_categories_translation_lang_code_foreign` FOREIGN KEY (`lang_code`) REFERENCES `lang` (`code`) ON DELETE CASCADE ON UPDATE CA) 

(SQL: insert into `machinery_categories_translation` (`machinery_categories_id`, `lang_code`, `name` , `updated_at`, `created_at`) values (1, 0, Φορτωτές, 2016-04-08 16:24:06, 2016-04-08 16:24:06))  

Where the 0 in values for lang_code is clearly wrong. What is the issue?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
    • ¥15 opencv图像处理,需要四个处理结果图
    • ¥15 无线移动边缘计算系统中的系统模型
    • ¥15 深度学习中的画图问题
    • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
    • ¥15 Python报错怎么解决
    • ¥15 simulink如何调用DLL文件
    • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
    • ¥30 线性代数的问题,我真的忘了线代的知识了
    • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统