bump... anyone?  thx

On Feb 19, 4:51 pm, vendejp <[EMAIL PROTECTED]> wrote:
> Im used to thinking of model objects like business objects, so if I
> perform some work on an object, I want to put the method in the biz
> object... as an example when I have a model with 2 fields: "fname" and
> "lname".
>
> Rather than always doing a check of something like this in the
> controller (possibly lots of places):
>
> $user = $this->User->read(null, 1);
> if(trim($user['User']['fname'])=='' || trim($user['User']
> ['lname'])=='')){
>    // do something
>
> }
>
> I would prefer to do this so that if I need to change the logic I do
> it in one place:
> if($this->User->isValid(1)){
>     // do something
>
> }
>
> The model would have something like:
> function isValid($id=null){
>     $this->id = $id;
>     $user = $this->User->read();
>     if(trim($user['User']['fname'])=='' || trim($user['User']
> ['lname'])=='')){
>         return false;
>     }
>     return true;
>
> }
>
> Maybe I loop through the results of a find() and I want to call this
> method over and over... I dont want it to do a $this->User->read()
> over and over.  As a result, I could put this function in the model
> but just pass in the array representation of the object.
>
> I end up with something like this in the model:
>
> function isValid($user=null){
>     if(trim($user['User']['fname'])=='' || trim($user['User']
> ['lname'])=='')){
>         return false;
>     }
>     return true;
>
> }
>
> What is the best practice for logic like this?  That is, logic that
> shouldnt go into a component because it is specific to a model?
>
> Thanks in advance
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
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