簡體   English   中英

Laravel 5.2:違反完整性約束:1452無法添加或更新子行:外鍵約束失敗,不使用laravelcollective

[英]Laravel 5.2: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails, without using a laravelcollective

我有一個簡單的組模型和一個聯系人模型。

聯系人“屬於”組和組“ 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. 從數據庫中刪除所有表
  2. 運行composer dump-autoload
  3. 檢查所有遷移文件的文件名,類名和日期前綴是否正確(請參見下文)
  4. 運行php artisan migrate

遷移:

類名必須與文件名一致

例如:在文件“ 2014_12_08_100923_create_items_tables.php”中,必須使用CamelCase單詞,名稱為“ CreateItemsTables”的類。

文件名必須遵循正確的日期前綴格式

遷移文件的名稱必須如下所示YYYY_MM_DD_000000_create_some_table.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM