gpt4 book ai didi

php - 如何选择左连接表数据作为数组

转载 作者:行者123 更新时间:2023-11-29 21:07:59 25 4
gpt4 key购买 nike

我正在尝试在更新下方显示评论。请帮助我知道如何将所有评论作为数组从数据库中获取。当我调用 $article->comments 时,下面的代码只会给我一条评论,如下所示,我只得到一个结果。计算行数会给出正确的计数,但显示只会带来一个结果。

$articlesQuery = $db->query("
SELECT
updates.id,
updates.update_text,
updates.posted_at,
updates.user_id,
updates.the_group,
members_comments.comment AS comments,

COUNT(articles_likes.id) AS likes,
GROUP_CONCAT(members.id SEPARATOR '|') AS liked_by

FROM updates


LEFT JOIN articles_likes
ON updates.id = articles_likes.article

LEFT JOIN members
ON articles_likes.user = members.id

RIGHT JOIN members_comments
ON members_comments.update_id = updates.id

GROUP BY updates.id

ORDER BY updates.id DESC

LIMIT 3
");

while ($row = $articlesQuery->fetch_object()){
$row->liked_by = $row->liked_by ? explode('|', $row->liked_by) : [];
$articles[] = $row;
}

然后显示,这会带来错误,但它解释了我想要做什么。

foreach($articles as $article): 
echo $article->update_text;

foreach ($article->comments as $comment){
echo $article->comment;
}
endforeach;

最佳答案

我认为循环不正确。

Foreach $article(现在是 1 行)

$article 中的 foreach 评论 echo 评论

所以这条评论只会是第 1 行的评论?

除非我误解了这应该是你的代码:

foreach($articles as $article) {
print $article->update_text."\n";
print $article->comment."\n";
}

关于php - 如何选择左连接表数据作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646819/

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