Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Michael Fayez's avatar

Getting data for the owner with many models

I have an issue I wanna get data for the owner of Consultant and posters, books , cheatsheet for the same owner here is my code

$posters           = Poster::query()
                              ->when($request->owner_id, function($query) use ($request){
                                 $query->where('owner_id', $request->owner_id);
                              })
                              ->latest()
                              ->get();
        $onlinsessions     = OnlineSession::query()
                              ->when($request->owner_id, function($query) use ($request){
                                 $query->where('owner_id', $request->owner_id);
                              })
                             ->latest()
                             ->get();
        $offlinesessions   = OfflineSession::query()
                              ->when($request->owner_id, function($query) use ($request){
                                 $query->where('owner_id', $request->owner_id);
                              })
                             ->latest()
                             ->get();```
I have no relationship between offlinesessions,onlinesssions,posters
only I have owner id in all this models 
what is missing ?? what is my mistake 
I didn't get the result I want 
I want the posters, online session, offline session for the same owner to display them in frontend page 
thanks in advance
0 likes
3 replies
webrobert's avatar

what happens when you?

dd(
   $posters->toArray(),
   $onlinsessions->toArray(), 
   $offlinesessions->toArray()
);
Michael Fayez's avatar

@webrobert I get data of all owners not data for the owner which is needed

 "id" => 3
    "title" => "drmina"
    "description" => "drmina"
    "price" => "89.00"
    "created_at" => "2023-01-04 18:18:00"
    "updated_at" => "2023-01-04 18:18:00"
    "deleted_at" => null
    "owner_id" => 2
    "poster" => array:1 [▼
      0 => array:23 [▼
        "id" => 11
        "model_type" => "App\Models\Poster"
        "model_id" => 3
        "uuid" => "c37eb1f7-e9a6-4e2a-8ea0-67d785a678fc"
        "collection_name" => "poster_poster"
        "name" => "Teacher-02"
        "file_name" => "Teacher-02.png"
        "mime_type" => "image/png"
        "disk" => "public"
        "conversions_disk" => "public"
        "size" => 164304
        "manipulations" => []
        "custom_properties" => []
        "generated_conversions" => array:2 [▶]
        "responsive_images" => []
        "order_column" => 1
        "created_at" => "2023-01-04T18:17:46.000000Z"
        "updated_at" => "2023-01-04T18:18:00.000000Z"
        "original_url" => "http://127.0.0.1:8001/storage/11/Teacher-02.png"
        "preview_url" => ""
        "url" => "http://127.0.0.1:8001/storage/11/Teacher-02.png"
        "thumbnail" => "http://127.0.0.1:8001/storage/11/conversions/Teacher-02-thumbnail.jpg"
        "preview_thumbnail" => "http://127.0.0.1:8001/storage/11/conversions/Teacher-02-preview_thumbnail.jpg"
      ]
    ]
    "media" => array:1 [▶]
  ]
  1 => array:10 [▼
    "id" => 1
    "title" => "drAhmed"
    "description" => "dammed"
    "price" => "120.00"
    "created_at" => "2023-01-04 18:14:14"
    "updated_at" => "2023-01-04 18:23:53"
    "deleted_at" => null
    "owner_id" => 1
    "poster" => array:1 [▶]
    "media" => array:1 [▶]
  ]

Please or to participate in this conversation.