gpt4 book ai didi

php - PDO结果和Twig模板库

转载 作者:行者123 更新时间:2023-11-29 12:44:03 25 4
gpt4 key购买 nike

我目前正在使用 Twig 模板库构建一​​个应用程序。

通过我的 PDO 语句,我收到以下数组:

    Array
(
[0] => Array
(
[id] => 1
[artist] => Dena
[track] => Cash, Diamond Ring, Swimming Pools
[link] => http://www.youtube.com/watch?v=r4CDc9yCAqE
)

[1] => Array
(
[id] => 2
[artist] => Jessy Lanza
[track] => Kathy Lee
[link] => http://vimeo.com/73455369
)

[2] => Array
(
[id] => 3
[artist] => The Orwells
[track] => In my Bed (live)
[link] => http://www.youtube.com/watch?v=8tA_2qCGnmE
)
)

但是当我将数组传递给 Twig 渲染并尝试在我的模板中输出时,如下所示:

<ul>
{% for song in songs %}
<li>{{ song.artist }}</li>
{% endfor %}
</ul>

什么也没发生,我知道这是因为数组有这个顶级父级,我不知道如何删除它。我现在尝试了几种不同的方法。知道如何解决这个问题吗?仅供引用,我将 PDO 作为关联数组返回,因为 Twig 似乎不接受对象。就像这样:

$options = array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING); // Options for PDO

我什至尝试过 Twig 语法中的一些 key => value 但没有成功。就像这样:

{% for key in array|keys %}
...
{% endfor %}

这是我从数据库获取数据的代码:

/**
* Get all songs from database
*/
public function getAllSongs()
{
$sql = "SELECT id, artist, track, link FROM song";
$query = $this->db->prepare($sql);
$query->execute();

return $query->fetchAll();
}

最佳答案

我修复了它,我必须给我的数组一个名称,以便它能够识别它。从此:

$this->loadView('home/index', $songs);

对此:

$this->loadView('home/index', array('songs' => $songs));

然后我可以通过以下方式打印数据:

<ul>
{% for song in songs %}
<li>{{ song.artist }}</li>
{% endfor %}
</ul>

关于php - PDO结果和Twig模板库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com