我希望重新创建通常在博客中看到的标签云侧边栏,在博客中用户在标签上进行选择,它会弹出具有该特定标签的所有帖子。

现在,我在确定如何设置查询时遇到了麻烦。

我有查询来拉所有标签:

$blogTags = $this->createQueryBuilder('b')
        ->select('b.tags')
        ->getQuery()
        ->getResult();

    return $blogTags;

但是,如何将其设置为仅拉出用户从侧边栏中的一组标签中选择的该标签的帖子呢?

我有在侧边栏中存储标签并对其进行加权的代码,我正在寻找将标签链接到其特定帖子的下一步。

getsTags()

public function getTags()
{
    $blogTags = $this->createQueryBuilder('b')
        ->select('b.tags')
        ->getQuery()
        ->getResult();

    $tags = array();

    foreach ($blogTags as $blogTag) {
        $tags = array_merge(explode(",", $blogTag['tags']), $tags);
    }

    foreach ($tags as $tag) {
        $tag = trim($tag);
    }

    return $tags;
}

getTagWeights()

public function getTagWeights($tags)
{
    $tagWeights = array();
    if (empty($tags))
        return $tagWeights;

    foreach ($tags as $tag)
    {
        $tagWeights[$tag] = (isset($tagWeights[$tag])) ? $tagWeights[$tag] + 1 : 1;
    }
    // Shuffle the tags
    uksort($tagWeights, function() {
        return rand() > rand();
    });

    $max = max($tagWeights);

    // Max of 5 weights
    $multiplier = ($max > 5) ? 5 / $max : 1;
    foreach ($tagWeights as &$tag)
    {
        $tag = ceil($tag * $multiplier);
    }

    return $tagWeights;
}

===============>>#1 票数:0

与您的朋友相同的答案( Symfony2-需要帮助以建立用于查找标签的学说查询

您应该使用原则查询。

PostRepository.php

public function findByTagName($tagName)
{
    $qb = $this->createQueryBuilder('post');
    $qb->select('post')
        ->join('post.tags', 'tag')
        ->where('tag.name LIKE ?', '%'.$tagName.'%');

    return $qb->getQuery()->getResult();
}

===============>>#2 票数:0 已采纳

希望这可以帮助其他人从此花费大量时间。

public function getPostsByTags($tag)
{
    $query = $this->createQueryBuilder('b')
        ->where('b.tags like :tag')
        ->setParameter('tag', '%'.$tag.'%');

    return $query->getQuery()->getResult();
}

  ask by esteemed.squire translate from so

未解决问题?本站智能推荐:

2回复

Symfony2 - 需要帮助设置一个用于查找标签的学说查询

我一直在寻找广泛而且仍然无法找到如何设置查询以查找用户从侧边栏中选择的特定“标记”的示例,而侧边栏又会显示所有帖子标签。 我了解如何查找所有标签,但不了解用户选择的具体标签。 blogrepository 博客实体
1回复

Symfony2 / Doctrine-通过博客获取标签

我试图找出一种通过博客获取标签的方法。 我知道您可以获取所有博客,并使用for循环获取每个博客的标签,但是使用这种方法,我无法在单个标签上进行选择,最终我将拥有所有标签,而不能仅在一个标签上进行选择。 与我在这里尝试执行的操作有关: Symfony2-如何列出一个特定的帖子标签而不是全部
1回复

Symfony2 / Doctrine-如何从blog.tags属性中选择一个标签

如何从blog.tags中选择一个标签? 我正在尝试从blog.tags属性链接单个标签。 现在,当我将鼠标悬停在单个标签上时,我看到的是标签组,而不是单个标签。 标签 悬停在一个标签上时的标签组: 我在所有博客中使用了for循环,并且在树枝文件中使用了它的属性。 我
1回复

在WordPress内容中为标签添加WordPress分类标准标签

WordPress分类法在SEO中有所帮助,它们使包含大量帖子的网站易于分类。 每当帖子保存时,我们如何自动将以“#”开头的任何单词转换为WordPress标记。 我的网站上有数百条帖子,作者不喜欢放置标签。 使用主题标签系统可以确保它们喜欢放置标签。 对于每个WordPress
1回复

如何下载帖子表中的所有标签?

如果我在网站https://data.stackexchange.com写“从帖子WHERE标签IS NOT NULL中选择标签”我只能下载50000行,我想要所有行 希望有人可以帮忙! 谢谢
1回复

在PDO中插入带有多个标签的帖子

数据库结构: //已经添加了帖子并获取了最后一个ID并将其放在$ newId中 在标签表和地图中插入posts_tags: 注意: 错误: Thsnks
1回复

Symfony2-使用流行标签的标签权重设置标签云

我正在尝试设置加权标签云,当标签是博客实体中的字符串属性时,该标签云将起作用。 现在,我已经将标签设置为它自己的实体,并与博客建立了双向的ManyToMany / ManyToMany关系。 不用说它不起作用,我猜是因为标记现在是它自己的对象。 我的问题:标记是它自己的实体,而
1回复

显示来自Wordpress中特定标签的最新文章

我正在尝试更改我的Wordpress主题,以显示特定标签的最新帖子。 目前它列出了最新的帖子。 这是它使用的部分代码: 在进行一些研究时,我发现了一些有关如何执行此操作的详细信息: http : //codex.wordpress.org/Template_Tags/get_po
1回复

通过标签获取相关帖子

嗨,我非常不擅长编写mysql查询(我正在努力)。 你们能帮我这个吗? 我有一张标签表: 另一个PostsA_tags表: PostsB_tags的另一个表: PostA的另一个表格: PostB的另一个表: 因此,现在的挑战是从A职位中排序B
2回复

从最近的5个帖子中选择所有标签分配

我有三个表: post (id)-具有所有条目 tag (id)-具有所有标签 assign (post_id,tag_id)-为帖子分配标签,一个帖子可能有多行 这是我到目前为止的内容: $ sql_post = mysql_query(“ SELE