Php 计算行出现次数并打印它们
一个名为Tags的MySQL表包含两列:Tags和video_id,超过10万行。 它们都不是主键,这意味着标记列中的值可能会在不同的视频id下出现几次,例如:Php 计算行出现次数并打印它们,php,mysql,cakephp,cakephp-3.0,query-builder,Php,Mysql,Cakephp,Cakephp 3.0,Query Builder,一个名为Tags的MySQL表包含两列:Tags和video_id,超过10万行。 它们都不是主键,这意味着标记列中的值可能会在不同的视频id下出现几次,例如: column names: |tags|video_id| values: tag1 video1 tag1 video2 tag2 video4 tag2 video5 tag2 video
column names: |tags|video_id|
values: tag1 video1
tag1 video2
tag2 video4
tag2 video5
tag2 video6
如何计算每个标记的所有出现次数并打印它?比如:
Tag12视频
Tag23视频
我的网站基于CakePHP-3,我从表中获取行的方式如下:
$query = $this->Tags->find('all');
$tags = $this->paginate($query);
变量标记现在有了结果,这就是我打印它们的方式:
foreach ($tags as $tag):
echo $tag->tags."<br>";
endforeach;
您可以通过利用基本SQL逻辑来实现这一点,例如count video_id或*,这可能会在某些情况下和按标记分组时提供更好的性能 这将创建类似以下内容的查询: 选择标签,将视频\u id计数为计数 来自标签 按标签分组 生成的实体将保留count属性,您可以像访问任何其他属性一样访问该属性。下面是一个小例子,另外使用复数感知翻译功能肯定不是必需的,但可能有用:
foreach ($tags as $tag):
echo $tag->tags . ' (' .
__n('{0} Video', '{0} Videos', $tag->count, $tag->count) .
')<br>';
endforeach;
另见
您可以通过利用基本SQL逻辑来实现这一点,例如count video_id或*,这可能会在某些情况下和按标记分组时提供更好的性能 这将创建类似以下内容的查询: 选择标签,将视频\u id计数为计数 来自标签 按标签分组 生成的实体将保留count属性,您可以像访问任何其他属性一样访问该属性。下面是一个小例子,另外使用复数感知翻译功能肯定不是必需的,但可能有用:
foreach ($tags as $tag):
echo $tag->tags . ' (' .
__n('{0} Video', '{0} Videos', $tag->count, $tag->count) .
')<br>';
endforeach;
另见
您可以使用cakephp计数函数和组选项
你可以通过
foreach ($tags as $tag):
echo $tag->tags."(".$tag->count." Videos)";
endforeach;
您可以使用cakephp计数函数和组选项
你可以通过
foreach ($tags as $tag):
echo $tag->tags."(".$tag->count." Videos)";
endforeach;
您可以创建一个带有标记的数组请始终提及您的CakePHP版本x.x.x,并相应地标记您的问题-谢谢!您可以创建一个带有标记的数组。请始终提及您的确切CakePHP版本x.x.x,并相应地标记您的问题-谢谢!可能重复您在标记前遗漏了$。您在标记前遗漏了$。