Salutations,

Je cherche actuellement à filtrer des posts par le biais d'un contain :

$this->Category->contain('Post.online = 1','Post.created <= NOW()');
$d'category'] = $this->Category->find('first', array(
    'conditions' => array('slug' => $category),
    'contain' => array('Post' => array('Media'))
));

Mais j'ai une erreur Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()' at line 1

Quelle est la syntaxe pour afficher la conditions de Post.created inférieur ou égale à la date actuelle ?

Et si y'a un moyen plus "propre" pour l'insérer dans le find directement ?

Merci d'avance :)

1 réponse


Shoodey
Auteur
Réponse acceptée

Euh... Ce fut très vite résolu, fallait juste y passer un petit peu plus de temps.

Je poste quand même la solution si jamais quelqu'un à des problèmes :

$d'category'] = $this->Category->find('first', array(
    'conditions' => array('slug' => $category),
    'contain' => array('Post' => array(
          'Media',
          'order' => 'Post.created ASC',
          'conditions' => array(
                'Post.online = 1',
                'Post.created <= NOW()')))
));