Laravel 5.2:完整性约束违规:1452无法添加或更新子行:外键约束失败,未使用laravelcollective

时间:2017-10-08 10:55:28

标签: php mysql laravel laravel-5.2

我有一个简单的组模型和联系模型。

联系" belongsTo"一个集团和一个集团" hasMany"接触。

因此,我的文章迁移有一个名为" user_id"。

的外键
*Group.php*
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Group extends Model
{
    public function contacts()
    {
        return $this->hasMany('App\Contact', 'group_id');
    }
}

Contact.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Contact extends Model
{
    protected $fillable = ['name', 'company', 'email', 'phone', 'address', 'group_id'];

    public function group()
    {
        return $this->belongsTo('App\Group', 'group_id');
    }
}

*ContactsController.php*
public function create()
{
    // return 'Create New Contact';
    $groups = Group::all();

    return view('contacts.create', ['groups' => $groups]);

}

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

  1. 从数据库中删除所有表格
  2. 运行progress.isFinished
  3. 检查所有迁移文件是否具有正确的文件名,类名和日期前缀(见下文)
  4. 运行composer dump-autoload
  5. 迁移:

    班级名称必须符合文件名

    例如:in file&#34; 2014_12_08_100923_create_items_tables.php&#34;必须是名为&#34; CreateItemsTables&#34;使用CamelCase单词。

    文件名必须遵循正确的日期前缀格式

    迁移文件的名称必须如下YYYY_MM_DD_000000_create_some_table.php