#php #arrays #laravel #laravel-5.1
#php #массивы #laravel #laravel-5.1
Вопрос:
Я получил ошибку при попытке напечатать значение массива в моем приложении Laravel.Пожалуйста, взгляните.
Мой контроллер:
public function index()
{
//
$data = new Userflow();
$result = $data->gobalsCount();
$res = $data->yrLogins;
$res1 = $data->mnLogins;
$res2 = $data->dayLogins;
$res3 = $data->hrLogins;
$res4 = $data->minLogins;
$res5 = $data->secLogins;
$object = [$res,$res1,$res2,$res3,$res4,$res5];
//dd($object);
return view('userflow',compact('object'));
}
Моя модель:
public $yrLogins = "";
public function gobalsCount(){
$this->yrLogins = DB::SELECT("SELECT count(*)/(TIMESTAMPDIFF(YEAR,'2016-01-01 00:00:00',now()) 1) as avg from authtracker where created_at >= '2016-01-01 00:00:00'");
................
Мой шаблон блейда:
@foreach($object as $value)
<td>{{ $value['0']->avg }}</td>
@endforeach
Таким образом, я получил ошибку такого типа.Если i var_dump($object)
, то он возвращает:
array:6 [▼
0 => array:1 [▼
0 => {#1396 ▼
"avg": "2.0000"
}
]
1 => array:1 [▶]
2 => array:1 [▶]
3 => array:1 [▶]
4 => array:1 [▶]
5 => array:1 [▶]
]
Как я могу напечатать это array
значение ex: 2.0000
.
Будем признательны за любую помощь.Заранее спасибо.
Комментарии:
1. может быть, это так {{ $value[0][0][‘avg’] }}
2. @Jaimin я пробовал этот способ, он выдает мне
Cannot use object of type stdClass as array
эту ошибку.3. Попробуйте вот так {{ $value[‘0’][‘avg’] }}
4. Вы уверены, что у вас есть
avg
свойство в каждом объекте?5.Просто проверьте другие значения
$object[1][0]->avg
$object[2][0]->avg
.. Я полагаю, у вас пустая переменная.. Потому что ваш цикл foreach выглядит корректно
Ответ №1:
Может быть, попробовать этот способ,
@foreach($object as $value)
<td>{{$value[0][0]->avg}}</td>
@endforeach
Не пробовал, но должно сработать.
Комментарии:
1. Не работает. Ошибка:
Cannot use object of type stdClass as array