Approach 3:
Assign your associations in the models as normal.  Set $recursive = 0
to avoid large result sets

I can understand the need for bind and unBind in deep, complex
associations, but I personally don't think it introduces any real
benefits performance wise.  My two cents.

Between the two approaches you gave I would choose 1.  Seems simpler,
and you dont have multiple bind, unBinds in the controller.


On Jun 14, 11:59 am, Ketan Patel <[EMAIL PROTECTED]> wrote:
> I would like some opinion from seasoned bakers on my implementation as
> I am not sure if it is Optimal or as per MVC practice.
>
> Say for eg, I have 2 models Users, Posts.
>
> My desired aim is "In UsersController, I want to find how many posts
> current user has posted "
>
> Table Relation
> User -> hasMany Post
>
> in PostModel I have
>
> function getPostsCount($userid)
> {
>     return $this->findCount("`Post`.`users_id`='$userid'");
>
> }
>
> Approach 1:
> ------------------
>
> and for that in User Model have a
>
> function getPostsCount($userid)
> {
>     $this->bindModel(array('hasMany'=>array(
>                                               'Post'=>array(
>
> 'className'='Post',
>
> 'foreignKey'='users_id');
>     $count = $this->Post->getPostsCount($userid);
>
>    $this->unBindModel(array('hasMany'=>array('Post')));
>
>    return $count;
>
> }
>
> and in UsersController I get the count by
>
> $postsCount = $this->User->getPostsCount($userid);
>
> Approach 2:
> ----------------
> I do binding the model in the controller itself, so I do not have any
> code in Model to wrap around but instead I do in the controller as
> follows:
>
> $this->bindModel(array('hasMany'=>array(
>                                               'Post'=>array(
>
> 'className'='Post',
>
> 'foreignKey'='users_id');
>
> $postsCount = $this->User->Post->getPostsCount($userid);
>
> $this->unBindModel(array('hasMany'=>array('Post')));
>
> I prefer Approach 1, but not sure if having the wrapper function is a
> good idea or not. What I mean is that getPostsCount is a Post Model
> specific function and I create a wrapper in the UserModel to get that
> info and don't have bind/unbind the model each time I call such
> functions. Moreover I get the ease of use to getPostsCount whereever I
> have access to UserModel.
>
> What do you guys have to suggest? I may be going totally against the
> principles but not sure, so want to confirm it.
>
> Ketan


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to