PHP/MySQL Activerecord,获取关系行数
我有两张桌子:PHP/MySQL Activerecord,获取关系行数,php,mysql,activerecord,relational-database,Php,Mysql,Activerecord,Relational Database,我有两张桌子: media_folders id, title media id, folder_id, title 他们每个人都有自己的模型 媒体,媒体文件夹。除了设置了static$table\u name属性外,它们没有什么特别之处。现在我可以将$has\u many分配给MediaFolder类,该类将查找所有相关的媒体。但是,我只需要获取mediafolder中的介质数量,而不是实际对象本身。最后,我想在名为files的MediaFolder对象中找到一个属性,该属性包含有多少媒体
media_folders
id, title
media
id, folder_id, title
他们每个人都有自己的模型
媒体,媒体文件夹
。除了设置了static$table\u name
属性外,它们没有什么特别之处。现在我可以将$has\u many
分配给MediaFolder
类,该类将查找所有相关的媒体
。但是,我只需要获取mediafolder中的介质数量,而不是实际对象本身。最后,我想在名为files
的MediaFolder
对象中找到一个属性,该属性包含有多少媒体行具有当前文件夹的folder\u id
我该怎么做?了解您的情况,但不是您的具体问题,因此您可以提供更多的细节,如:
1.您的问题是否在于生成SQL查询?
2.是否存在使用活动记录生成查询的问题。。(如果是,您正在使用哪个框架)
需要更多说明。如果只是一些SQL:
$sql = "SELECT mf.folder_id, count(m.id) as files
FROM media_folders mf, media m
WHERE mf.id = m.folder_id
GROUP BY mf.folder_id"
基本上,我只想在MediaFolder中有一个名为files的属性,该属性具有所有关联媒体行的计数,而无需为每一行生成媒体对象。我的工作是一个自定义查询和一个名为get_files_count的方法,但我想知道是否有一种内置的方法可以使用PHP ActiveRecord实现这一点。是的,它存在于PHP ActiveRecord中,因为我使用的是提供这种支持的codeigniter框架。以下是其中一个示例的链接: