hoge

いわゆるWeb Developerの備忘録

Laravelで関係するモデルの情報を取得する

Laravelでは関連するモデルを簡単に取得できるように`hasOne/hasMany`、`belongTo/belongToMany`といったメソッドがあります。 これらはEloquentで書かれたモデルクラスで取り出しやすいように、関連するモデル名でラップして使用します。 [Eloquent:リレーション 5.8 Laravel](https://readouble.com/laravel/5.8/ja/eloquent-relationships.html) 例えば1人のユーザが存在し、ユーザは個人の情報と、複数の端末を持っていることをモデル化するとUserとProfile、Deviceというモデルに分けられます。 UserとProfileは1対1の関係、Userは端末を複数持っている可能性があると考えるとUserとDeviceは1対多の関係になります。 userを取得したらuserと関連するprofileとdevicesを取得したいとなるとEloquentでは以下のように`hasOne/hasMany`メソッドをラップします。 ```php class User extends Model { public function profile() { return $this->hasOne(App\Profile::class); } public function devices() { return $this->hasMany(App\Device::class); } } ``` こうすることでuserから関連するprofileとdevicesを取得することができます。 多対多の場合は両方のモデルから`belongToMany`をラップすることで中間テーブルを通じて結果を返すことができます。

同じカテゴリー(PHP)の記事
上の画像に書かれている文字を入力して下さい
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
Laravelで関係するモデルの情報を取得する
    コメント(0)