Symfony2 - 需要帮助设置教义查询以查找标签

2023-12-12

我一直在广泛寻找,但仍然无法找到如何设置查询来查找用户从侧边栏中选择的特定“标签”的示例,而侧边栏又将显示带有该标签的所有帖子标签。

我了解如何查找所有标签,但不了解如何查找用户选择的特定标签。

博客库

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

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

博客实体

/**
 * @var string
 *
 * @ORM\Column(name="tags", type="text")
 */
private $tags;

/**
 * Set tags
 *
 * @param string $tags
 * @return Blog
 */
public function setTags($tags)
{
    $this->tags = $tags;

    return $this;
}

/**
 * Get tags
 *
 * @return string
 */
public function getTags()
{
    return $this->tags;
}

第一个解决方案:您应该使用学说查询。

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();
}

第二种解决方案:使用多对多关系并直接从学说中获取

实体/标签.php

/**
 * @ORM\ManyToMany(targetEntity="YourApp\YourBundle\Entity\Post", inversedBy="tags")
 * @ORM\JoinColumn(name="posts_tags")
 */
private $posts;

实体/Post.php

/**
 * @ORM\ManyToMany(targetEntity="YourApp\YourBundle\Entity\Tag", mappedBy="posts")
 */
private $tags;

所以你可以做$tag->getPosts();获取所有相关帖子

第三种解决方案:确实很难看,但教程并不是为了改进而设计的...... 获取所有博客文章并解析每个字符串以查找您的标签是否在其中。

public function getBlogWithTag($tagRequested)
{
    $blogs = $this->createQueryBuilder('b')
                 ->getQuery()
                 ->getResult();

    $blogsWithTag = array();
    $tags = array();
    foreach ($blogs as $blog)
    {
        $tags = explode(",", $blog->getTags());
        foreach ($tags as &$tag)
        {
            $tag = trim($tag);
        }

        if(in_array($tagRequested, $tags)) {
            array_push($blogsWithTag, $blog);
        }
    }

    return $blogsWithTag;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony2 - 需要帮助设置教义查询以查找标签 的相关文章

  • 使用 Composer 安装 PHPUNIT

    我有一个关于 Symfony 2 的项目 我想在 Windows 7 上使用 PHPUNIT On githut phpunit is Composer Simply add a dependency on phpunit phpunit
  • 在不运行控制台命令的情况下清理缓存的最佳方法是什么?

    在我的项目的管理面板中 我编写了更改要使用的数据库名称的功能 我把新的数据库名称写在parameters ini 之后必须清理缓存才能加载新配置 在不运行控制台命令的情况下清理缓存的最佳方法是什么 或者是否有另一种最佳实践如何更改当前数据库
  • 如何设置 MPEG-4 文件的“媒体创建”日期

    我有许多从各种数码相机格式转码的 MPEG 4 文件 其文件系统修改日期是正确的 我想设置 媒体创建 标签来匹配 这可以通过 属性 窗口的 详细信息 选项卡在 Windows 资源管理器中手动完成 设置 媒体创建 非常有用 因为 Windo
  • 没有 OutputInterface 的 Symfony2 控制台输出

    我正在尝试使用 Symfony 控制台命令将一些信息打印到控制台 通常你会做这样的事情 protected function execute InputInterface input OutputInterface output name
  • 独立 Symfony2 包内的功能测试

    我需要直接在独立包中进行一些功能测试 我不想测试控制器 只是测试真实服务之间的一些交互 我想知道是否有标准 最佳方法可以做到这一点 我用一种方法做到了 但想知道是否有更好的方法 这是我自己的解决方案 我总结了在独立包中测试的所有过程 1 首
  • Symfony2 - ReferencedColumnName id 为空

    我要放弃食谱文章了表单集合 http symfony com doc current cookbook form form collections html但是 当尝试将其保留到数据库时 我收到约束冲突错误 引用的列名称 id 为空 SQL
  • 如何翻译 Sonata Admin Bundle 中的标签

    我正在使用 Symfony 2 3 和 Sonata Admin Bundle 我知道我可以用这种方式翻译标签 gt add shortDescription null array label gt shortDescriptionTran
  • 是否可以仅在一张表上运行“symfonydoctrine build --all”任务?

    如果我运行以下任务 它会构建所有内容并清除数据库 php symfony doctrine build all 我希望此任务仅针对我放入 schema yml 的新表运行 是否可以 我认为你应该为此使用迁移 首先 您需要恢复初始状态 当模式
  • Doctrine/Symfony 如何使用数组中的特定数据更新实体

    我环顾四周太久了 但没有运气 我的情况是 我有一个有点大的表 60 列 在 Doctrine Entity 中表示 在 FosREST 上工作 我想要实现的是 我想发送带有特定数据的 JSON 例如 phone gt new phone n
  • 如何从symfony2中的表单对象获取每个字段的错误消息?

    我按照这个教程http symfony com doc current forms html http symfony com doc current forms html我完美地呈现了我的插入表单 但只有一个问题我无法解决 当表单无效时
  • Symfony2 -> Twig -> 表单 -> 字段 -> 设置渲染 = true

    我有一个简单的问题 我有一个带有字段的表单 例如 builder gt add x gt add y gt add z 在我的树枝文件中 我使用了多个块 并且我想停止渲染字段 我查看了 b html twig 文件 a html twig
  • 复制具有所有关系的 Doctrine 对象

    我想复印一份他所有亲戚的记录 我正在尝试 o Doctrine getTable Table gt Find x copy object gt copy relations o gt getRelations foreach relatio
  • 如何设置外键id的id #sf2 #doctrine2

    我正在尝试手动为对象设置外键 id 但没有找到如何执行此操作 class Item ORM ManyToOne targetEntity MyBundle Entity ItemType inversedBy itemTypes ORM J
  • Symfony 4.1 组件 - 依赖注入问题

    我正在用 PHP 重构旧应用程序 我正在尝试使用 Symfony 依赖注入组件将服务注入控制器 或其他服务 但我不知道如何实现这一点 因为 symphony 文档比框架组件更适合使用框架 我已经有了自己的内核 包含所有服务和控制器的容器 控
  • 获取签出修订版的 git 标签?

    我正在做 git tag current tag example to test task git checkout tag example to test task HEAD is now at 75fdde3 commit commen
  • symfony docker 缓存文件的权限问题

    我有一个带有 docker compose 的 docker symfony 设置 它运行良好 除非我运行缓存 清除Web 服务器可以从控制台访问这些文件 我可以通过取消注释来规避权限问题掩码 0000 在控制台和 web app dev
  • 如何定义/传递 sonata-admin 的实体管理器

    我跟着本教程 http symfony2 ylly fr sonataadminbundle fosuserbundle have a good base project jordscream 使用 FOSUserBundle 安装 Son
  • Symfony 3新建项目报错

    我开始编写有关 Symfony 3 的教程 在使用以下命令创建新项目时遇到问题 php symfony phar new Symfony 我有这个错误 GuzzleHttp Exception RequestException Error
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • 将自定义参数传递给 Symfony2 中的自定义 ValidationConstraint

    我正在 Symfony2 中创建一个表单 表格只包含一个book字段允许用户在列表中进行选择Books实体 我需要检查是否选择了Book属于Author我的控制器里有 public class MyFormType extends Abst

随机推荐

  • 如何给jqgrid添加Tooltip

    我正在使用 jqgrid 显示服务器中存在的数据 如何在鼠标悬停工具提示上显示数据描述 在 jqgrid 上显示工具提示的最佳方式是什么 鼠标悬停时 jqGrid 中显示的工具提示只不过是相应 HTML 元素的 标题 属性 如果您想更改工具
  • Java将字符串转换为日期然后比较

    我有一个二维字符串数组 static String TaskStorage Task 1 02 07 13 Task 2 02 08 13 Task 3 02 09 13 Task 4 02 10 13 Task 5 02 11 13 Ta
  • Python - 按索引对列表列表中的重复项进行分组

    我见过很多关于从列表中删除重复项并对其进行计数的问题 但我正在尝试找到将它们分组的最佳方法 列表列表 鉴于此示例 我想按第三个字段进行分组 1 text name1 text 2 text name2 text 3 text name2 t
  • 编译时依赖注入[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 为什么所有 DI 框架都会在应用程序启动之前检查运行时的所有依赖关系 为什么不在编译时检查这一点 这样做有什么好处呢 是否可以更改已部署应用程序中的依赖关系 例如 当应用程序启动
  • 如何在页面刷新时保持选定/活动的 HTML 链接颜色?

    EDIT 我想要保持选中状态 在页面刷新时保持 HTML 链接颜色 我尝试了其他已经得到解答但对我不起作用的问题 例如 当我单击 HTML 链接时 将 HTML 链接分类Quizzes它将把颜色更改为红色 并保持页面上的颜色刷新 HTML
  • 自定义异常类每次都显示 Unreachable catch 块

    我创建了一个自定义异常类 我想在我的应用程序中使用它 public class MyException extends Exception private static final long serialVersionUID 2151515
  • Mysql 搜索以逗号分隔的字符串

    我有 1 个名为的 mysql 表colors有行id and name 1 yellow 2 black 3 red 4 green 5 white 6 blue 例如 如果我有搜索字符串 如何获取 ID 数组 colors gt str
  • 为什么数据段和堆栈段是可执行的?

    我刚刚注意到我的简单程序的数据和堆栈段是可执行的 我在 proc pid maps 中看到它 并且简单的代码证实了这一点 例如 prog asm section data code db 0xCC int3 section text glo
  • ListView 中的 SpannableString 正则表达式

    我有一个 ListView 我使用自定义适配器将字符串集合绑定到它 我还在文本中的某些关键字下划线 我使用 SpannableString 和正则表达式来给单词加下划线 但我想知道这是否是最有效的方法 我注意到 java util rege
  • Ninject 传递实现接口的类的构造函数参数 typeof

    我正在尝试将 Ninject 与我的应用程序日志记录包装器一起使用 这是包装器 public class NLogLogger ILogger private readonly Logger logger public NLogLogger
  • 在 JSch 中使用 2048 位素数

    我正在尝试尝试从我的 Java 应用程序到客户端的外部服务器的 SSH 连接 客户端增强了安全性 他们不接受 1024 位素数 但我的 JSch 只发送 1024 位素数 请在下面找到我的应用程序的详细错误输出 INFO Launching
  • 从 TextBlock 获取 DataContext MouseDown

    ListView GridView 中的绑定列 如何在 MouseDown 事件中获取数据源
  • 为什么 Python 中元组比列表快?

    我刚刚读过 深入Python 元组比列表更快 元组是不可变的 列表是可变的 但我不太明白为什么元组更快 有人对此进行过性能测试吗 报告的 建设速度 比率仅适用于constant元组 其项目由文字表达的元组 仔细观察 并在您的计算机上重复 您
  • 使用 GIT 分支/分支

    我已经使用 Git 一段时间了 但尽管在博客和教程上花费了数小时 但我仍然无法理解某些功能 我正在与其他人一起开发一个项目 我的老板在 bitBucket 上创建了一个存储库 我在本地克隆了它 并且已经对主分支做了一些提交 并拉取了其他人的
  • 如何使用View.OnTouchListener代替onClick

    我正在为客户开发 Android 2 2 2 应用程序 他想要执行以下操作 现在我有一个带有 onClick 事件的按钮 但他不喜欢 他想检测用户何时释放按钮 我找到了View OnTouchListener我认为这是我需要使用的 但是 是
  • 附加到 numpy 数组

    我正在尝试构造一个 numpy 数组 然后向其附加整数和另一个数组 我尝试这样做 xyz list frag str split nums numpy array coords numpy array for i in range int
  • 命名空间“clr-namespace”中不存在名称“...”

    我在使用 Visual Studio 2012 NET 4 5 和 WPF 时遇到一个奇怪的问题 视图找不到对我的任何类的引用 并且我不断收到错误 命名空间 clr namespace 中不存在名称 虽然智能感知确实找到了我的任何课程 我尝
  • 使用 Apache POI 打开 .xlsx 文件会出现 NoClassDefFoundError InvalidFormatException

    我无法正确导入所有必需的 jar 文件 我的最终目标只是读取 Excel 电子表格 更具体地说是 xlsx 文件 来检查 Apache POI 的速度是否适合未来的应用程序 我的问题是为什么我会抛出错误 java lang NoClassD
  • 导出项目模板VS2012/13中的.props文件

    我正在尝试将项目导出为模板 有两个 props 文件 一个用于 Win32 配置 另一个用于 x64 配置 当我运行导出向导时 会创建一个 zip 文件 但不包含 prop 文件 但是 vcxproj 文件仍然引用 props 文件 并且使
  • Symfony2 - 需要帮助设置教义查询以查找标签

    我一直在广泛寻找 但仍然无法找到如何设置查询来查找用户从侧边栏中选择的特定 标签 的示例 而侧边栏又将显示带有该标签的所有帖子标签 我了解如何查找所有标签 但不了解如何查找用户选择的特定标签 博客库 public function getT