User モデルを別のテーブル (プロフィール) で拡張して、プロフィール写真や場所などを取得しようとしています。
これを行うために User モデルの index() 関数をオーバーライドできますか?
index()
現在のモデルコード:
あなたがやりたいことは、User モデルと新しい Profile モデルの間に関係を作成することです。これを行うには、まずモデル Profile とそれに関連するタブ profiles
User
Profile
profiles
php 職人 make:model プロファイル --migration
database\migrations に 2022_11_28_223831_create_profiles_table.php
database\migrations
2022_11_28_223831_create_profiles_table.php
次に、このプロファイルがどのユーザーに属するかを示す外部キーを追加する必要があります。
次に、ユーザー モデルに次の関数を追加します
プロファイルモデル内
php 職人移行 を実行すると、すべてが期待どおりに動作するはずです
を実行すると、すべてが期待どおりに動作するはずです
php 職人 make:test ProfileUserRelationTest
tests\Feature\ProfileUserRelationTest.php リーリー
php 職人テスト を実行して、すべてが正常かどうかを確認できます。
を実行して、すべてが正常かどうかを確認できます。
これによりデータベースが更新されます。 したがって、本番環境ではテストしないでください。
リーリー
https://laravel.com/docs/9.x/eloquentrelationships
https://laravel.com/docs/9.x/migrations
代替プラン リーリー
あなたがやりたいことは、
を作成する必要があります。User
モデルと新しいProfile
モデルの間に関係を作成することです。これを行うには、まずモデルProfile
とそれに関連するタブprofiles
php 職人 make:model プロファイル --migration
という名前のファイルがあるはずです。database\migrations
に2022_11_28_223831_create_profiles_table.php
次に、このプロファイルがどのユーザーに属するかを示す外部キーを追加する必要があります。
リーリー次に、ユーザー モデルに次の関数を追加します
リーリープロファイルモデル内
リーリーphp 職人移行
関係が期待どおりに機能するかどうかをテストする場合は、新しいテスト ケースを作成しますを実行すると、すべてが期待どおりに動作するはずです
php 職人 make:test ProfileUserRelationTest
attests\Feature\ProfileUserRelationTest.php
これで、リーリー
php 職人テスト
注意を実行して、すべてが正常かどうかを確認できます。
これによりデータベースが更新されます。 したがって、本番環境ではテストしないでください。
出力は次のようになりますリーリー
Laravel のリレーションシップの詳細:https://laravel.com/docs/9.x/eloquentrelationships
移行の詳細:https://laravel.com/docs/9.x/migrations
代替プラン リーリー