On Wed, Sep 8, 2010 at 8:30 AM, Anja Liebermann
<[email protected]> wrote:
> Hi all,
>
> I have a hasMany relationship:
> A hasMany B, B belongsto A
>
> I want to get a list of all As who have at least one B via a containment 
> condition, but I am unsure how to formulate the condition.
>
> In the model of A:
> var $containment = array(
>        'ModelA' =>             array(
>        'conditions' => array(what should go here?)
>        );
>

Perhaps going through the associated model. Try this:

$data = $this->B->find(
        'all',
        array(
                'fields' => array(
                        'B.id',
                        'B.a_id'
                ),
                'conditions' => array(
                        'not' => array(
                                'B.a_id' => null
                        )
                ),
                'contain' => array(
                        'A' => array(
                                'fields' => array(
                                        ...
                                )
                        )
                )
        )
);

die(debug($data));

You could then use the Set class to rearrange $data if need be.

Check out the new CakePHP Questions site http://cakeqs.org and help others with 
their CakePHP related questions.

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

Reply via email to