Bonjour à tous, je suis en train de mettre en place les connaissances que j'ai acquise à travers les tutoriels vidéos de Grafikart concernant cakephp.
Je suis actuellement bloqué au niveau d'un tree Behavior.
Je dispose d'une table contenant bien les champs 'name','lft',rght',parent_id...
Lorsque j'ajoute un name et le parent, via un formulaire, cela s'enregistre bien. Le champs name est récupéré, le champs parent_id ainsi que d'autre champs. Le soucis est au niveau des valeurs lft et rght, celle ne se complète pas. Voici mon fichier controlleur:

<?php
class UsersController extends AppController {

    public $actsAs=array('Tree');
    ......
function admin_edit($id=null)
    {
        if($this->request->is('put') || $this->request->is('post'))
        {
            if($this->User->save($this->request->data))
            {
                $this->Session->setFlash("L'utilisateur a été édité");
                $this->redirect(array('action'=>'index'));
            }
        }
        elseif($id)
        {
            $this->User->id=$id;
            $this->request->data=$this->User->read();
        }
        $d'services']=$this->User->find('list',array(
            'conditions'=>array(
                'type'=>'service'
            )
        ));
        $this->set($d);
    }
    .........
?>

Pourriez vous me donner un coup de main?

Merci d'avance.

3 réponses


leknoppix
Auteur
Réponse acceptée

Finalement grace au IRC #grafikart, j'avais mal déclaré le tree behavior.
Merci en tout cas.

Grafikart
Réponse acceptée

Je précise que le Tree behaviour est à mettre dans le model et non pas dans le controller (au cas ou qqun tomberais sur le sujet :) )

J'ai une question un peu bizarre mais est ce que le Tree Behavior bouffe beaucoup de ressource serveur sql?
J'explique ma question, supposons que ma table ayant ce comportement, contient 5000 entrée. Si un utilisateur intègre une nouvelle entré en plein "milieu" de la table, que se passera-t-il, le serveur sql va-t-il se surcharger considérablement?