Bonjour,
je commence "doucement" avec cakephp 3. Et je cherche à afficher une liste de produits, différent de plusieurs id.
Je fais pour cela un "find 'list'"
$query = $this->Productsetudes->find('list', [
'keyField' => 'product_id',
'valueField' => 'product_id'
])
->where(['Productsetudes.etude_id' => $etude_id]);
$ids = $query->toArray();
Je récupère une liste ($ids)
Enssuite j'aimerais récupérer les produits "différents" de la liste ($ids)
exemple:
'conditions' => [
'Products.id != ' => $ids,
],
Pour récupérer les produits "correspondant" à la liste c'est facile, je fais cela
'conditions' => [
'Products.id IN ' => $ids
],
Mais "diferents de plusieurs", je sais pas comment faire. je me retrouve avec une erreur : "Cannot convert value of type array
to integer "
Merci d'avance
Et juste ne fonctionne pas ?
'conditions' => [
'Products.id NOT IN ' => $ids
],
Après véirication, il semblerait y avoir une méthode notIn()
dans le QueryBuilder :
$query = $cities->find()
->where(function (QueryExpression $exp, Query $q) {
return $exp->notIn('country_id', ['AFG', 'USA', 'EST']);
});
Plus d'infos ici