データベーステーブルがあります:譲受人、チケット、カテゴリ。チケットテーブルでは、assignee_idとcategory_idは外部キーです。私はいくつかのリクエストコントローラを書きました。そして、私は新しいチケット要求をデータベースに保存しようとしました。私は私のアプリをテストする場合でも、それはエラーの下に表示さ:は新しいデータを保存できません
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`laraapi`.`tickets`, CONSTRAINT `tickets_assignee_id_foreign` FOREIGN KEY (`assignee_id`) REFERENCES `assignees` (`id`)) (SQL: insert into `tickets` (`title`, `content`, `priority`, `updated_at`, `created_at`) values (testtitle, test content, 1, 2016-07-08 16:06:16, 2016-07-08 16:06:16))
ここにここに私のチケットコントローラ(APP \のHttp \コントローラはTicketCtrl.phpを\)
public function store(TicketRequest $request)
{
$values = $request->all();
Ticket::create($values);
response()->json(['message'=>'Done!']);
}
のいくつかのコードブロックは、コードブロックです私のチケット要求のチケット要求で
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'title' => 'required',
'content' => 'required',
'priority' => 'required'
];
}
public function response(array $errors)
{
return response()->json(['message'=> 'You should put title, content and priority', 'code'=> 422], 422);
}
}
が、私はセットアップ任意の認証サービスをしなかったため、TRUEに認可変更(アプリケーションが\のHttp \は\ TicketRequest.phpを要求します)。