Je suis confronté à un problème lors de la récupération des valeurs en utilisant la fonction paginate dans cakephp. Dans le champ "à" du message, j'ai des champs CSV d'ID utilisateur. Pour rechercher des messages pour un seul utilisateur. J'utilise le code ci-dessous ...Comment utiliser la condition OU dans la fonction Pagination dans Cakephp?
$this->set('message', $this->paginate('Message', array(
'or'=> array(
"Message.to LIKE" => "".$this->Session->read('Auth.User.id').",",
"Message.to LIKE" => ",".$this->Session->read('Auth.User.id').","
)
)));
Mais la requête est formé de cette manière qui est pas ce que je veux .. Je veux deux conditions avec ou condition.
SELECT `Message`.`id`, `Message`.`timestamp`, `Message`.`to`, `Message`.`from`,
`Message`.`message`, `Message`.`subject`, `Message`.`urgent`, `Message`.`read`,
`Message`.`tag`, `Message`.`open`, `Message`.`reply_id`, `User`.`id`,
`User`.`fname`, `User`.`lname`, `User`.`user`, `User`.`password`,
`User`.`photo`, `User`.`created`, `User`.`access`, `User`.`login`,
`User`.`status`, `User`.`role`
FROM `messages` AS `Message`
LEFT JOIN `users` AS `User` ON (`Message`.`to` = `User`.`id`)
WHERE `Message`.`to` LIKE ',1,'
ORDER BY `Message`.`timestamp` desc
LIMIT 5
bien sûr, je peux me tromper sur les délimiteurs de « % » ajoutés par gâteau. Deceze pourrait savoir avec certitude. –