私の例で直接始めるつもりです。物事は、私はhasMany
とbelongsTo
の関係のカップルを持っていると私は戻ってオブジェクトのいずれかのプロパティには、どこの句のキーとしてアクセスしたいと思います。 私はPrice
というモデルを持っていて、profileSystem
、profileType
、colorGroup
という3つのモデルに3つのbelongsTo
という接続があるとします。私の他の3つのモデルはそれぞれPrice
モデルへのhasMany
接続を持っています。 profileType
モデルのインスタンスがある場合は、それに応じてprofileSystem
とcolorGroup
の親がいくつかの特定の値を持つ価格を呼び出したいと思います。オブジェクトのプロパティにlaravelのwhere句のキーとしてアクセスしてください
App\ProfileType::find(1)
-> prices -> where('profileType', App\ProfileType::find(1))
-> where('colorGroup', App\ColorGroup::find(1))
-> first()->value;
あなたが見ることができるように、ここでの比較はPrice
モデルに属しcolorGroup
とprofileType
モデルの全インスタンスと直接連携:作品例私は何をしたいのですが何が全体のモデルを比較することはありませんが、唯一つのプロパティ、そのような:
->where('colorGroup->id', 1)
または
->where('colorGroup->id', App\ColorGroup::find(1) -> id)
質問は、私は一般的ではないよ、すべての構文は次のとおりです。ララベルと一緒に。私はドキュメントで何も見つけられませんでした。前もって感謝します!
のように見えますが、 'colorGroup'の親モデルの各プロパティにアクセスするための最善の方法はそれのためにスコープを書くことですか?たくさんあるので。そのケースは、そのモデルだけでなく、グローバルでもあります。しかし、フィードバックをありがとう! –