質問: 私はlaravel7を使用しています。2つのテーブル、製品、お客様の声があります。各紹介文は製品に関連しています。だから私は2つの関係を作りました: * 製品:hasMany( 'App Models OM Testimonial'); * お客様の声:belongsTo( 'App Models OM Product'、 'product_id') しかし、私がdd(Testimonial-> with( 'product))すると、これを取得します > array:1 [▼ "testimonials" => Illuminate Database Eloquent Builder {#347▼#query:Illuminate Database Query Builder {#358▶} #model:App Models OM Testimonial {#359▼ #table: "om_testimonials" #fillable:array:4 [▶] #connection:null #primaryKey: "id" #keyType: "int" +インクリメント:true #with:[] #withCount:[] #perPage:15 +存在:false + wasRecentlyCreated:false #attributes:[] #original:[] #changes:[] #casts:[] #classCastCache:[] #dates:[] #dateFormat:null #appends:[] #dispatchesEvents:[ ] #observables:[] #relations:[] #touches:[] + timestamps:true #hidden:[] #visible:[] #guarded:array:1 [▶]}#eagerLoad:array:1 [▶]# localMacros:[] #onDelete:null #passthru:array:19 [▶] #scopes:[] #removedScopes:[]}] > >
回答: ### 答え : #### 解決: これは正常です。`with`はEloquentにリレーションシップの積極的な読み込みを要求しますが、「クエリ」に制約を追加できるため、まだ取得していません。モデルとその関係を取得するには、これを行う必要があります ``` Testimonial::with('product')->get();Copy code ``` ドキュメントも確認する必要があります。詳細はすべてここにあります: https://laravel.com/docs/7.x/eloquent-relationships#eager-loading