Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算行出现次数并打印它们_Php_Mysql_Cakephp_Cakephp 3.0_Query Builder - Fatal编程技术网

Php 计算行出现次数并打印它们

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

一个名为Tags的MySQL表包含两列:Tags和video_id,超过10万行。 它们都不是主键,这意味着标记列中的值可能会在不同的视频id下出现几次,例如:

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,并相应地标记您的问题-谢谢!可能重复您在标记前遗漏了$。您在标记前遗漏了$。