2014-11-21 3 views
0

НАСТРОЙКАLaravel Blade, отражающие свойства ребенка ... свойства?

Модель

public function totalValidated() 
    { 
     return $this->hasOne('user')->where('validated', '=', "1") 
     ->selectRaw('district_id, count(*) as total')->groupBy('district_id'); 
    } 

Контроллер

$districts = District::select(array('id', 'name')) 
      ->with(array('usersCount','totalValidated')) 
      ->get(); 

return View::make('districts.index', compact('districts')); 

У меня есть следующие данные, возвращаемые:

0: { 
id: 1, 
name: "Northern California", 
    total_validated: { 
    district_id: "1", 
    total: 3 
    } 
}, 
1: { 
id: 2, 
name: "Southern California", 
    total_validated: { 
    district_id: "2", 
    total: 30 
    } 
} 

Посмотреть

@foreach ($districts as $district) 
    <tr> 
    <td>{{$district->name}}</td><td>{{$district->total_validated->total}}<td> 
    <tr> 
@endforeach 

Вопрос

Как я отображать "всего" в "total_validated" в районе? Выше только получает мне

"Trying to get property of non-object" 

, который я знаю, это неправильно, но я не уверен, как получить значение из этого вложенного массива.

Спасибо!

+0

это лучше? – aibarra

+0

Я подозреваю, что компактная функция испортила ваш объект, но я не использовал Laravel через некоторое время, поэтому я не знаю, что он делает. – MightyPork

+0

Пожалуйста, разместите структуру базы данных. И попробуйте '$ district-> total_validated-> pivot-> total' – Hkan

ответ

0

Не уверен, что с лезвием, но обычный PHP работал

<?php echo($district['totalValidated']['total']) ?> 
Смежные вопросы