Мне было интересно, возможно ли следующее. У нас есть класс, предназначенный для использования в цепочечных методах.
$CarClass = $CarConnection->models->count();
В приведенном выше примере мы считаем модели. Однако хочу сделать это динамически. Так, например:
$CountArray = array('models','brands','countries');
foreach($CountArray AS $key => $value){
$CarData[$value] = $CarConnection->$value->count();
}
Однако это выдает ошибку: «Вызов функции-члена count () для необъекта в». Хотя я почти уверен, что счет существует, так как работает функция, упомянутая ранее.
Некоторый поиск в Google привел к добавлению скобок {}, но это тоже не работает.
$CarData[$value] = $CarConnection->{$value}->count();
Любое решение?
С уважением,
Питер
Я могу определить синтаксическую ошибку в вашем цикле:
Это должно идти —
$CountArray = array('models','brands','countries');
foreach($CountArray as $key => $value){
$CarData[$value] = $CarConnection->$value->count();
}
Кроме того, массив, который вы имеете, не является ассоциативным. Так что вам не нужен ключ $!
Попробуй это:
foreach($CountArray as $value) {
$CarData[$value] = $CarConnection->{$value}->count();
}
Других решений пока нет …