// Get all categories
$query = "SELECT name FROM bolt_taxonomy WHERE taxonomytype = :taxonomytype AND contenttype = :contenttype";
$map = array(
':taxonomytype' => 'categories',
':contenttype' => 'news',
);
$categories = $this->app['db']->fetchAssoc($query, $map);
$response = $this->app->json(array('categories' => $categories));
return $response;
Возвращает:
{
"categories": {
"name": "life"}
}
Это только первая запись, которая соответствует вышеуказанному условию в таблице bolt_taxonomy. Как я могу заставить его вернуть весь список категорий?
Теперь это решается с помощью fetchAll
:
// Get the category
$query = "SELECT name FROM bolt_taxonomy WHERE taxonomytype = 'categories' AND contenttype = 'news'";
$categories = $this->app['db']->query($query);
$result = $categories->fetchAll();
$response = $this->app->json(array('categories' => $result));
return $response;
Вам необходимо заполнить с помощью while
или же foreach
петля.
$categories = $this->app['db']->fetchAssoc($query, $map);
foreach($categories as $category) {
$result[] = $category;
}
$response = $this->app->json($result);
echo $response;
return $response;