Я начал использовать Silex и Twig в начале этой недели. Теперь я обнаружил странную проблему:
Мой код в index.php
//start sql request. teleport it to the twig file, without satanic php
$app->get('/', function() use ($app){
$sql = 'SELECT * FROM projectvdg' ;
$text = $app['db']->FetchAssoc($sql);
return $app['twig']->render('start.twig', [
'content' => $text
]);
});
и в ‘start.twig’ (файл, который я запрашиваю в приведенной выше части)
{% for title in content %}
<p> {{ content.title }} </p>
{% endfor %}
Насколько я понимаю, это должен быть цикл, в котором отображаются все (4) заголовки моей базы данных. Но вместо этого он генерирует это:
title1
title1
title1
title1
title1
Если я попробую FetchAll, вместо FetchAssoc я получу это сообщение:
Twig_Error_Runtime: Ключ «title» для массива с ключами «0, 1, 2, 3» не существует в «start.twig» в строке 16
Вопрос: какую ошибку я допустил в этом коде? Должен ли я использовать FetchAll, например, и просто изменить имена строк?
Спасибо
Вы обращаетесь к неверной переменной внутри цикла.
{% for title in content %}
<p> {{ title }} </p>
{% endfor %}
Других решений пока нет …