我在User和Item之间有一个HasMany Through关系。问题是 - 我想检查关系是否存在(意味着在同一行上找到完全相同的user_id和item_id)以检查所采取的操作是添加还是删除该关系。
问题似乎出现在这行代码中,无论我登录的是哪个用户,总是评估为大于0的代码 - 如果我在没有用户的情况下记录下来,它应该找不到任何内容upvotes:
$something = $this->Upvote->find('count', array('Upvote.item_id' => $this->request->data['item_id'], 'Upvote.user_id' => AuthComponent::user('id')));
基本上我想要做的就是找到登录用户和每个项目之间是否存在HasMany Through关系。我该怎么做?
答案 0 :(得分:0)
试试这个
$something = $this->Upvote->find('count',
array( 'conditions'=>
array('Upvote.item_id' => $this->request->data['item_id'],
'Upvote.user_id' => AuthComponent::user('id')
)
)
);
答案 1 :(得分:0)
u2460470的代码是正确的。您需要在Items:
之间循环foreach ($items as $item){
$upvotes = $this->request->find('count',array('conditions'=>
array('Upvote.item_id' => $item,
'Upvote.user_id' => AuthComponent::user('id')
)));}