自己动手写 PHP acts_as_taggable_on 实现_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > 自己动手写 PHP acts_as_taggable_on 实现

自己动手写 PHP acts_as_taggable_on 实现

 2012/3/13 15:39:28  vb2005xu  程序员俱乐部  我要评论(0)
  • 摘要:写道这个功能不怎么好总结,看了很多PHP相关的资料感觉都木有讲清楚,ZF和orm的实现又过于臃肿....只好参阅rails的acts_as_taggable_on说白了核心就一个sqlselectpost.*,count(tag.id)ascountfrompost,tag,tagingwherepost.id!={当前post.id}#排除自身andpost.id=taging.post_id#限定标签的范围为当前post所拥有的标签集合andtaging.tag_type=post
  • 标签:PHP 实现 自己 tag
写道 这个功能不怎么好总结,看了很多PHP相关的资料 感觉都木有讲清楚,ZF和orm的实现又过于臃肿....

只好 参阅rails的acts_as_taggable_on 说白了 核心就一个sql

select post.*,count(tag.id) as count

from post,tag,taging

where post.id!={当前post.id} #排除自身
and post.id=taging.post_id #限定标签的范围为当前post所拥有的标签集合
and taging.tag_type=post.base_class #限定标签类型为当前post的基本类型
and taging.tag_id=tag.id #限定必须是有效的标签
and tag.name in ({当前post拥有的标签})

group by post.id
order by count desc

鄙视 某些人 教程说完一半后面就没了...

简单的东西都复杂话了 ?
发表评论
用户名: 匿名