首页 > 解决方案 > 如何区分这两个值?Twig 返回 sql 组 concat

问题描述

我需要帮助才能得出结果。

我的 sql 请求:

$posts = $db->prepare('SELECT
    CM.idpost,
    CM.title,
    CM.slug,
    CM.content,
    CM.cover,
    CM.date,
    GROUP_CONCAT(PC.id SEPARATOR ";") AS list_id,
    GROUP_CONCAT(PC.cat_name SEPARATOR ";") AS list_cat_name,
    GROUP_CONCAT(PC.icon SEPARATOR ";") AS list_icon,
    GROUP_CONCAT(PC.bg SEPARATOR ";") AS list_bg,
    GROUP_CONCAT(PC.slug_cat SEPARATOR ";") AS list_slug_cat,
    U.iduser,
    U.username,
    U.avatar
    FROM cms_posts CM
    LEFT JOIN relation_posts RP ON RP.id_post = CM.idpost
    LEFT JOIN cms_postcategory PC ON PC.id = RP.id_category
    LEFT JOIN users U ON U.iduser = CM.author
    GROUP BY CM.idpost
    ORDER BY CM.date DESC LIMIT '.$paginationStart.','.$limit.'');

这是我对我的表的 sql 查询返回的内容:Marketing;Général in Twig:

{{ post.list_cat_name }}

图片演示

我需要结果:

<a href="{{idcategory"> Marketing </a>
<a href="{{idcategory}}"> Général</a>

感谢您的帮助<3

标签: twig

解决方案


所以你有一个像Marketing;Général. 您需要使用每个文本作为链接文本创建 2 个链接。

我假设您同样需要拆分 list_id 以获得您的idcategory价值。

所以是这样的:

{% set categoryNames = post.list_cat_name | split(';') %}
{% set categoryIds = post.list_id | split(';') %}

{% for category in categoryNames %}
    <a href="{{categoryIds[loop.index0]}}"> {{category}}</a>
{% endfor %}

推荐阅读