so i have a 5 tables in my database with pivot, Countries, Cities, Shops, Users, shop_employee their relationship is this
Countries  | Cities      | Shops     | shop_employees| Users 
 id        | country_id  | city_id   |  shop_id      | id
                                        employee_id
my goal is i want to count each City, shop, employees in Country
this is my controller
class CountryController extends Controller
{
    public function country(){
       $countries = Country::with(['cities.shops.employees'])->get();
       return view('country',['countries'=>$countries]);
    }
}
this is my model Country
class Country extends Model
{
    public function cities(){
        return $this->hasMany(City::class);
    }
}
this is my model City
class City extends Model
{
    public function shops(){
        return $this->hasMany(Shop::class);
    }
}
this is my model Shops
class Shop extends Model
{
    public function employees(){
        return $this->belongsToMany(User::class,'shop_employees','shop_id','employee_id');
    }
}
this is my view
        <table class="table-fixed">
                <thead>
                  <tr>
                    <th class="py-2 px-2 border border-gray-300">Country</th>
                    <th class="py-2 px-2 border border-gray-300">City</th>
                    <th class="py-2 px-2 border border-gray-300">Shop</th>
                  </tr>
                </thead>
                <tbody>
                @foreach ($countries as $country)
                <tr >
                    <td class="py-2 px-2 border border-gray-300"></td>
                    <td class="py-2 px-2 border border-gray-300"></td>
                    <td class="py-2 px-2 border border-gray-300"></td>
                  </tr>
                @endforeach
                </tbody>
              </table>
i tried this code its working fine the City is counting
the output, in this output i want to display the count of shops and employee
but when im trying this code it gives me a error
  $country->cities->shops->count() or
  $country->cities->shops->employees->count() 
error: Property [shops] does not exist on this collection instance
via Chebli Mohamed

Aucun commentaire:
Enregistrer un commentaire