Hi,

I have been able to use the counter cache for computing the number of 
questions in a chapter since the Question model belongs to the Chapter 
model.  But now I want to calculate the total number of questions in a Unit 
where the Chapter model belongs to the Unit Model.  Can this also be done 
with counterCache?  Ideally I would like to do this with virtualFields so 
that this data is returned everytime a Unit object is loaded in my 
application.  

Thanks.

On Sunday, August 18, 2013 4:52:51 AM UTC-4, Nicholas Amon wrote:
>
> Hi,
>
> Thanks for the reply.  Would that require me to introduce the field in the 
> database schema?  I would like to also include the count in chapters, units 
> and subjects.  Would that require a schema change for each of these tables?
>
> Thanks again for your reply.
>
> On Sunday, August 18, 2013 2:14:49 AM UTC-4, Jeremy Burns wrote:
>>
>> counterCache is your friend.
>>
>> Jeremy Burns
>> Class Outfit
>>
>> http://www.classoutfit.com 
>>
>> On 17 Aug 2013, at 23:02:51, Nicholas Amon <[email protected]> wrote:
>>
>> Hi,
>>
>> I have the following model relationships
>>
>> Question belongs to Chapter
>> Chapter belongs to Unit
>>
>> I want to add a virtual field in the Unit model that counts how many 
>> questions a unit has.  I tried this:
>>
>> public $virtualFields = array(
>> "questionCount" => 'SELECT COUNT(*) FROM questions as Question JOIN 
>> chapters as Chapter ON (Question.chapter_id = Chapter.id) JOIN units as 
>> Unit ON (Chapter.unit_id = Unit.id)'
>> );
>>
>> The problem here is that it returns the same value for all untis.  The 
>> issue here is that I want the count for each Unit instance.  In other 
>> words, I would like to add a where clause so that the query becomes 
>> something similar to:
>>
>> public $virtualFields = array(
>> "questionCount" => 'SELECT COUNT(*) FROM questions as Question JOIN 
>> chapters as Chapter ON (Question.chapter_id = Chapter.id) JOIN units as 
>> Unit ON (Chapter.unit_id = Unit.id)  WHERE Unit.id = 
>> CAKE_REPLACE_WITH_CURRENT_ID'
>> );
>>
>> How do I get cake to CAKE_REPLACE_WITH_CURRENT_ID to be the ID of the 
>> current Unit instance that is being retrieved?
>>
>> I hope I have made my question clear.  Thanks in advance.
>>
>> -- 
>> Like Us on FaceBook https://www.facebook.com/CakePHP
>> Find us on Twitter http://twitter.com/CakePHP
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "CakePHP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/cake-php.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to