私は単純なグループモデルと連絡先モデルを持っています。Laravel 5.2:整合性制約違反:1452子行を追加または更新できません。ラベール集約を使用せずに外部キー制約が失敗します
"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]);
}
は、次のように
ファイル名が正しい日付プレフィックス形式に従わなければなりません
移行ファイルは、したがって、私の記事の移行がエラーのために申し訳ありません*「group_idの」と呼ばれる外部キーを持つ名前を付ける必要があります! –
は、外部キーを持っているあなたのdbテーブルを空にし、移行の呪文を実行すると、移行 –
を実行する「[symfonyの\コンポーネント\デバッグ\例外を\ FatalThrowableError] クラスのCreateGroupsTable 'が見つかりません」 –