Hi folks, im goggling for this a few days but can't find a clear solution for my problem. So what i am trying to do is quit simple. I created a *Container* model and this $actsAs tree.
Container Database: id, containertype_id, name, parent_id, lft, rght Now i want to create a Contact. A Contact $hasAndBelongsToMany Container over contacts_to_containers: A Contact can be created in a Container.containertype_id 1 and 2 public $hasAndBelongsToMany = array <http://www.php.net/array>( 'Container' => array <http://www.php.net/array>( 'className' => 'Container', 'joinTable' => 'contacts_to_containers', 'foreignKey' => 'contact_id', 'associationForeignKey' => 'container_id' ), ), No i want to create a contact group. And i want that a contact group is still a Container in a Container and this is the big problem. So i created a Contactgroup model and a contact groups table. The table just save a name an a description at the moment. A Contactgroup should be a Container.containertype_id = 6 public $belongsTo = array <http://www.php.net/array>( 'Container' => [ 'dependent' => true, 'foreignKey' => 'container_id', 'className' => 'Container' ]); If i now call $this->Contactgroup->save() CakePHP create a new record in Container and link it correctly to *contactgroups.container_id*. This is fine. But cake don't create a new link in contacts_to_containers (to the new container id witch is the contact group) I tried it with my own save function but than cake wants to validate all the required files of a contact. So i think cake thinks it needs to save a complete new contact but i just want that cake adds a new record for contact X in contacts_to_containers An other problem is, that if i define conditions in $hasAndBelongsToMany like this: public $hasAndBelongsToMany = array <http://www.php.net/array>( 'Container' => array <http://www.php.net/array>( 'className' => 'Container', 'joinTable' => 'contacts_to_containers', 'foreignKey' => 'contact_id', 'associationForeignKey' => 'container_id' 'conditions' => ['containertype_id', => 1 ] ), ), and run $this->Contact->find('all'); cake only select the containers with containertype_id === 1. Thats perfekt! But, if i now run $this->Contact->save($this->reuqest->data); cake can't save this date and throws the error containertype_id not found in contacts_to_containers. Thats true because this column is in the container, but why does this work in find() but not on save() ? I hope i could explain my problem that someone was able to understood^^ Best regards, Daniel -- 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 cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.