for updating a record count you should not use saveField() but updateAll() See tons of questions and answers on SO like http://stackoverflow.com/questions/8773457/cakephp-increment-value
Am Montag, 24. März 2014 16:23:16 UTC+1 schrieb advantage+: > > I was under the impression counterCache holds record counts thru the > relationships. > > > > I use that when a user has x number of related model records. > > In this case it’s a page view count that simply updates when viewed, no > relation to anything else there is no User hasMany PageView relationship. > > > > User hasMany Post, Post is viewed, update the view count of that Post. > > User counterCache for number of Post for that user but the Post does not > 150 PageView records. > > > > Am I missing something? > > > > > > *From:* [email protected] <javascript:> [mailto: > [email protected] <javascript:>] *On Behalf Of *John Sposato > *Sent:* Monday, March 24, 2014 12:42 PM > *To:* [email protected] <javascript:> > *Subject:* Re: $this->field and contain > > > > Any reason you can't use counterCache? > > > > On Monday, March 24, 2014 11:07:46 AM UTC-4, advantage+ wrote: > > Can you use / is there a way to read a field and not add in extra relation > queries? > > > > I have a very simple function to read 1 field and update it by +1 > > > > public function pageCount($id) { > > $this->id = $id; > > $count = $this->field('view_count', array('id' => $id)) + > 1; > > $this->saveField('view_count', $count); > > } > > > > Right now the full page has 30 querys exectuted. > Removing this call from the controller. > > > > $this->User->pageCount($user['User']['id']); > > > > And the page queries drop to 23. Odd how a simple call to read 1 field and > update by 1 creates 7 queries. > > Looking at the extra queries its pulling in related models. > > > > I can write a find and use contain => false I suppose but figured I would > ask. > > > > -- > 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] <javascript:>. > To post to this group, send email to [email protected]<javascript:> > . > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/d/optout. > -- 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/d/optout.
