Thank you Don!

It seems that containable isn't the right solution for this problem :c(
I guess I have to work with unBind instead.

Anja





Am 17.05.2011 06:28, schrieb dreamingmind:
Anja,

Spent a bit more time with containable. No answer but if it's any
consolation but I can't get any proper result with a HABTM even
without an alias. It could be I'm still misunderstanding some
detail... The two away table just comes pouring in no matter what I've
tried.

Don

On May 16, 1:31 am, Anja Liebermann<[email protected]>
wrote:
Hi Don,

thanks for your reply, but the brackt was set correctly, PostAuthor
belongsto LastPost, not to Group directly.

What really worries me is that all the members are fetched. They belong
via HABTM to the Group, but if I don't mention them in my containment
statement they shouln't be fetched. Correct?

Anja

Am 15.05.2011 04:29, schrieb dreamingmind:







Anja,

There is a parenthesis misplacement in your sample code. If that
exists in your real code it's probably your problem.

The array for LastPost doesn't get its closing paren until after
PostAuthor. Here's the correction:

$containment = array(
      'GroupOwner' =>    array(
          'fields' =>    array('GroupOwner.nickname', 'GroupOwner.id')
      ),
      'LastPost' =>    array(
          'fields' =>    array('LastPost.user_id', 'LastPost.created'),
      ),
      'PostAuthor' =>    array(
          'fields' =>    array(
              'PostAuthor.id',
              'PostAuthor.firstname',
              'PostAuthor.nickname',
              'PostAuthor.lastname'
          )
      )
);

Regards
Don

On May 14, 7:05 am, acl68<[email protected]>    wrote:
Hello everybody,

I try to use a containable search in a CakePHP legacy project using Cake
1.2. I have often uses containable, but never togeterh with aliases. So
no idea if that might be the poblem ore something else.

The model relations are as follows:

Group__
               hasMany Members alias Users
               belongsTo
               |__ GroupOwner alias User
               |__ LastPost alias ForumPost
                                                      |___belongsTo
                                                      |__ PostAuthor alias User

As you can see we use model aliases.

I have the following containment array:
$containment = array(
               'GroupOwner' =array(
                            'fields'=array('GroupOwner.nickname',
                            'GroupOwner.id')
               ),
               'LastPost' =array(
                             'fields'=array(
                              'LastPost.user_id',
                             'LastPost.created'),
               'PostAuthor' =array(
                             'fields' =array(
                             'PostAuthor.id',
                             'PostAuthor.firstname',
                             'PostAuthor.nickname',
                             'PostAuthor.lastname')
                             )
               )
);

The strange behaviour is that I get all model data on the second level
e.g. all my GroupMembers which I don't want, but not my PostAuthor which
I want.

If I add a field condition to my find e.g.:
$groups = $this-Group-find('all', array('contain' =$containment,
'fields' =array('GroupOwner.id'), 'limit' =2));

my result looks like following:
GroupOwner (Array, 5 elements)
id (String, 2 characters ) 14
nickname (String, 11 characters ) Helfenstein
avatar (Array, 4 elements)
is_online (Integer) 0
name (String, 12 characters ) Helfenstein
LastPost (Array, 3 elements)
user_id (String, 6 characters ) 878781
created (String, 10 characters ) 1237332851
id (String, 10 characters ) 1009713631
GroupCategory (Array, 0 elements)
Member (Array, 0 elements)
Tags (Array, 0 elements)

so Members are still there, though luckily empty, but still no PostAuthor. My
complete Information from the "Group" model is missing, too

*sigh*

Has anybody an idea what might be the problem?

Of course var $actsAs = array('Containable'); is set in the app_model.php

I find this a very strange behaviour (no pun intended).

Thanks in advance for any help!

Anja



  anja_liebermann.vcf
<  1KViewDownload


--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

<<attachment: anja_liebermann.vcf>>

Reply via email to