Bonjour,
J'ai une question toute bête
Lorsque je fais une requete sur mon modele User, j'ai tous les models liés : ie
(int) 0 => array(
'User' => array(
'id' => '19',
'nom_complet' => 'AAA bbbb'
),
'Sector' => array(),
'Pack' => array(),
'Region' => array(),
'Call' => array(),
'Rdv' => array(),
'Order' => array(
(int) 0 => array(
'id' => '18',
'user_id' => '19',
'statut' => '3',
'created' => '2015-12-14 18:59:23',
'paid' => null,)),
si je met le recursive à -1 j'ai que User.
En revanche je veux garder le récursive, mais je ne suis interessé que par le modele lié Rdv
donc j'ai tenté un truc du genre:
$this->User->find('all',array("fields"=>array("id","nom_complet"),"contain"=>"Rdv","conditions"=>array('User.call_id'=>$user['User']['id'])));
mais ça ne change rien, ça renvoit quand même tous les autres modèles liées..
est ce que je suis passé à coté de quelque chose ?
merci par avance.
Super !
je viens de rajouter
public $actsAs = array('Containable');
dans AppModel et ça fonctionne parfaitement.
En fait je l'avais simplement mis dans le modele RDV.. :(
2 questions tout de même:
en activant ce behaviour, je ne vais pas perdre en perfo global sur le site?
est ce que je risque d'avoir des effets de bords sur des requettes qui marchaient bien selon toi ?
en tout cas, encore merci :)
Bonsoir.
Ce n'est pas "contain" => "Rdv"
, mais "contain" => array("Rdv")
.
Même si tu ne veux récupérer qu'une seule association avec contain, il faut définir un tableau.
Est-ce que le Behavior Containable est bien gréfé à tous tes modèles depuis la classe AppModel par exemple ?
en activant ce behaviour, je ne vais pas perdre en perfo global sur le site?
En utilisant le Behavior Containable, les associations ne seront effectuées que lorsque tu les demandera dans tes requêtes SQL, il n'y a donc pas de risque que des associations superflues soient effectuées sans que tu ne les demandes.