Je les modèles suivants:CakePhp: Trouvez en utilisant Contenir avec état
- Company (id, nom)
- employé (id, nom, company_id, isRemoved) [Société a beaucoup d'employés]
Dans l'association spécifiée, l'employé a une condition par défaut, que
public $hasMany = array(
'Employee' => array(
'className' => 'Employee',
'foreignKey' => 'company_id',
'dependent' => true,
'conditions' => array(
'Employee.isRemoved' => 0
),
)
);
l'association a une condition par défaut d'un employé n'étant pas supprimée. J'utilise la Recherche requête suivante sur la compagnie pour obtenir que les employés dont le nom correspond à une chaîne:
$this->Company->find('all', array(
'contain' => array(
'Employee' => array(
'conditions' => array(
'Employee.name LIKE' => '%'.$search_text.'%')
),
'fields' => array('Employee.id, Employee.name')
)
)
));
Le problème que je suis face est que, lorsque j'utilise conditions à l'intérieur contiennent, la condition par défaut spécifiée dans l'association est non appliqué et lorsque la clé de conditions n'est pas spécifiée, la condition par défaut spécifiée dans l'association est appliquée.
Est-ce un comportement par défaut de Cakephp et comment procéder à ce sujet? J'utilise Cakephp 2.8.4