【发布时间】:2009-11-04 15:54:22
【问题描述】:
我正在尝试使用配置文件的 cmets 提取配置文件信息。我得到了预期的一切。没有返回错误,数组格式完美。我关心的是正在运行的查询。它为每个 ID 运行一个查询以获取其照片(查询的开头在下面代码中的 cmets 中注明)。我想这是通过 user_id 获取照片的唯一方法?全部在单独的查询中?有没有更好的办法?
我正在描绘一个包含 40 多个 cmets 的个人资料,这令人恐惧。这就是 memcached 的用武之地吗?
$profile = $this->Profile->find('first', array(
'conditions' => array('Profile.url' => $url),
'contain' => array(
'User' => array(
'fields' => array(
'User.id','User.name'
),
'Photo' => array(
'fields' => array(
'Photo.thumbnail','Photo.image'
)
)
),
'Comment' => array(
'User' => array(
'fields' => array(
'User.name'
),
'Photo' => array( // right here
'fields' => array(
'Photo.thumbnail'
)
)
)
)
)
));
编辑:
我显然有一个用户表,以及一个评论表。我还有一个存储用户图像 URL 的照片表,外键 = user_id。因此,当我从特定配置文件中查询所有评论时,它是 Comment.user_id,我还需要通过其 user_id 从照片表中获取 Photo.thumbnail。
【问题讨论】: