- の情報を追加する私は、それらの間の関係は
belongsToMany
あるpets
テーブル - を有します。
- これらのテーブルには、ユーザの特定のペットに関する情報を持つピボットテーブル
user_pets
があります。 $user->pets()
を使用してピボットテーブル情報を含め、ユーザーのペットを入手しました。私のユーザーモデルでpets()
方法は次のとおりです。Laravel - 私は<code>users</code>テーブル</li> <li>を有する関係出力にpublic function pets() { $pets = $this->belongsToMany(Pet::Class, 'user_pets')->withPivot( 'id', 'position', 'level', 'exp' )->orderBy('position','asc'); return $pets; }
あなたは
level
とexp
フィールドとして、すべてのペットを見ることができるように。次のレベルを取得するために必要なEXPが私のpet_exp
表に記載されている:ID | level | requiredExp
1 5 237 2 6 406 3 7 637 4 8 942 5 9 1326 6 10 1800 7 11 2369
- 問題:は、私は
$user->pets()
(上記の方法)を使用して、ペットの現在のレベルのrequiredExpを返すようにしたいです。私は数時間考えていて、それをどうやって行うのか考えられませんでした。
お手数ですが、ありがとうございます!ここで
ペットのレベルが「5」の場合は「237」、ペットのレベルよりも1レベル高いので「406」を返すようにしますか? – Samsquanch
私は237を返すように求めています。 – TheUnreal
「ペット」モデルにプロパティを追加することは容認できますか?あるいは、返された 'pets()'配列の中に入れなければなりませんか?私がこれをしていたなら、 'requiredexp()'関数を 'Pets'モデルに追加して' $ this-> level'に必要なexpを返すでしょう。 – Samsquanch