質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

5147閲覧

【Laravel】 Integrity constraint violation: 19 FOREIGN KEY constraint failedエラーが解決できません

kami_tsukai

総合スコア26

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2019/11/27 04:10

編集2019/11/27 05:16

#問題
現在、Photoモデルのテストをしたくてfactoryで作成しようとしているのですが、エラーが出て困っております。
Photoモデルを作成してテストがしたいのでどなたかご教授いただけないでしょうか。

インメモリの SQLite を使用しております。

#該当のソースコード

  1. Guideモデル(親)
  2. Placeモデル(Guideの子)GuideのID参照
  3. Photoモデル(Placeの子)PlaceのID参照
  4. 問題のテストファイル
  5. エラー

1.Guideモデル(親)

$factory->define(Guide::class, function (Faker $faker) { return [ 'user_id' => factory(User::class)->create()->id, 'title' => substr($faker->text, 0, 20), 'days' => substr($faker->text, 0, 10), ]; });

2.Placeモデル(Guideの子)

$factory->define(Place::class, function (Faker $faker) { return [ 'guide_id' => str_random(12), 'place' => substr($faker->text, 0, 10), 'detail' => substr($faker->text, 0, 30), ]; });

3.Photoモデル(Placeの子)

$factory->define(Photo::class, function (Faker $faker) { return [ 'place_id' => function() { factory(Place::class)->create()->id; }, 'filename' => str_random(12) . '.jpg', ]; });

4.問題のテストファイル

public function test_can_return_valid_json() { factory(Photo::class, 5)->create(); //ここでタイトルのエラーがでる $response = $this->get('/api/v1/photo'); }

5.エラー

Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 FOREIGN KEY constraint failed (SQL: insert into "places" ("guide_id", "place", "detail") values (JJcRVRQ1n399, Cumque dig, Qui provident saepe voluptates))

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2019/11/27 04:28

データベースやそのバージョンによって方言が大きいですから、どのデータベースを使うのかを質問のタグで示したり、バージョンも明記した方が適切なコメントが付き易いです。
kami_tsukai

2019/11/27 05:16

ありがとうございます。修正しておきました!
Orlofsky

2019/11/27 05:20

>質問のタグで示し てください。
guest

回答1

0

ベストアンサー

過去ログ が参考になるのでは?

投稿2019/11/27 04:26

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kami_tsukai

2019/12/01 01:31

過去ログを参考に解決することができました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問