作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 propel ORM 并有两个表:
offer
id | description | ....
tag
id | Name | ....
offer_tag
offerid | tagid
其中 offer_tag
是多对多表,两列都与各自的表 ID 主键相关。
我的目标是通过 PROPEL 创建一个查询,搜索可能是 Offer.description 或 tag.name 中的单词
。也就是说:如果我搜索 eggs
,我可以收到所有在 Offer.description 中包含 eggs
但不在 tag.name 中包含 eggs
的优惠> 在 tag.name 中但在 Offer.description 中,或在两个表列中。
有人可以帮助我吗?
最佳答案
已解决:
假设我想搜索单词milk
,它可能是一个标签,或者在报价(产品)描述中......代码是:
$of = OfferQuery::create()
->where('Offer.Description LIKE ? %milk%')
->or()
->useOfferTagQuery()
->useTagQuery()
->filterByName('milk')
->endUse()
->endUse();
->find();
此代码仅查找在多对多表 (offer_tag) 和匹配标签或描述中至少具有关系的优惠(产品)。如果优惠
的描述包含牛奶
但没有标签,则该优惠将从查询中排除。
希望可以帮助别人。
关于php - 插入如何进行多对多查询 "OR"两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35399871/
我是一名优秀的程序员,十分优秀!