Hello Im having problem with performing find function in following
scenario:
I have a voting sistem for motives in gallery. User can vote only once
for one motive. So in table Points there is an entry with
corresponding user_id and motive_id when user votes.
I have three models: USER, Motive, Points
User $hasMany motives
Motive $belongsTo user
Motive $belongsTo User
Motive $hasMany motivePoints
Points $belongsTo Motive
Points $belongsTo User
When user wants to vote i have to perform following SQL query to check
if he already voted :
Select * from motives _points WHERE user_id='$id' AND motive_id =
'$motive_id'
I want to perform find('count') with this conditions in
Motives_controller. If it returns >0 , user already voted for this
motive. I tried this:
$this->Motive-
>find('count'),array('conditions'=>array('Point.user_id'=>26))
It should return 1 because there is only one entry for user 2 in table
Points but it returns 3
If I look in debug($this->Motive-
>find('all'),array('conditions'=>array('Point.user_id'=>26))) i get:
***************************************************
***************************************************
Array
(
[0] => Array
(
[Motive] => Array
(
[id] => 1
[user_id] => 26
[title] => Nije Vuk Ovca
[folder] => motives/motiv_1
[points] => 45
[created] => 2008-09-01 11:44:45
[modified] => 2008-09-01 15:07:48
)
[User] => Array
(
[id] => 26
[username] => luigi7up
[password] => 670a2a8ff7b5df64e8205775d4666b55
[email] => [EMAIL PROTECTED]
[first_name] => Luka
[last_name] => Eterovic
[group_id] => 2
)
[Point] => Array
(
)
)
[1] => Array
(
[Motive] => Array
(
[id] => 2
[user_id] => 27
[title] => Killabear
[folder] => motives/motiv_2
[points] => 130
[created] => 2008-09-01 11:46:08
[modified] => 2008-09-03 17:16:31
)
[User] => Array
(
[id] => 27
[username] => gazda
[password] => 7be96ec0264ec22ea292b1484ec88da3
[email] => [EMAIL PROTECTED]
[first_name] => Administratrija
[last_name] => Admic
[group_id] => 3
)
[Point] => Array
(
[0] => Array
(
[id] => 1
[user_id] => 26
[motive_id] => 2
[points] => 5
[created] => 0000-00-00 00:00:00
[modified] => 0000-00-00 00:00:00
)
)
)
[2] => Array
(
[Motive] => Array
(
[id] => 3
[user_id] => 31
[title] => Funny Geraffe
[folder] => motives/motiv_3/
[points] => 38
[created] => 2008-09-01 15:20:23
[modified] => 2008-09-04 10:57:43
)
[User] => Array
(
[id] => 31
[username] => marljivi
[password] => eb01e22ae152e997783f9617c4dd535f
[email] => [EMAIL PROTECTED]
[first_name] => Marljivi
[last_name] => Marljivi
[group_id] => 3
)
[Point] => Array
(
)
)
)
***************************************************
***************************************************
I was playing with recursive = 2 and behaviour Containable to get this
work but I need help.
Summary:
I need check in Motives_Controller if table Points, that is
assocciated to motives table, contains user_id & motive_id values and
return true/false or number of records...
Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---