Laravel 5 |违反完整性约束:1452

时间:2016-02-15 05:01:11

标签: php mysql laravel foreign-keys laravel-5.2

当我尝试使用多个标签创建消息时:

控制器:Message_cont

public function store() {
    $tags = $request->input('tags');
    $message = \Auth::User()->messages()->create(request::all());
    $message->tags()->attach($tags);
}

型号:标签

public function messages() {
    return $this->belongsToMany('App\messages');
}

我将MySQL插入错误视为:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or 
update a child row: a foreign key constraint fails 
(`homestead`.`messages_tags`, CONSTRAINT `messages_tags_tags_id_foreign` 
FOREIGN KEY (`tags_id`) REFERENCES `tags` (`id`) ON DELETE CASCADE) (SQL: 
insert into `messages_tags` (`created_at`, `messages_id`, `tags_id`, 
`updated_at`) values (2016-02-15 04:44:14, 1, 3, 2016-02-15 04:44:14), 
(2016-02-15 04:44:14, 2, 3, 2016-02-15 04:44:14))

我的代码有什么不对?

1 个答案:

答案 0 :(得分:1)

您正试图在3表格中将messages_tags的ID与您的tags表格中的条目相关联。这就是为什么你得到完整性违规错误。

确保您的3表格中包含该tags个ID。