包含关系,第一反应就是用like做模糊查询,稍微一想,万一查询tag_id=4的数据,查到14的数据怎么办?在4前后加上,(逗号)做查询,tag_id=',4,',这样倒是可以避免查询到14,41之类的集合.可以万一tag_ids值就是4,反而查询不到了.然后又是求助百度,基本都是讲like的应用,不适用我的情景.接着去交流群,还真有个兄弟提出了一个mysql函数,FIND_IN_SET(),网上有不少兄弟对find_in_set()的讲解,下面是我项目里的应用:
$wh = ' FIND_IN_SET('.$tag_id.',a.tag_ids) ';
$article_list = M('article')
->alias('a')
->join('left join __CATEGORY__ as b on a.category_id=b.category_id')
->where($wh)
->select();
本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读:0时0分0秒。
649494848