CakePHP 3.6: fetchAll () с условиями - PullRequest
       3

CakePHP 3.6: fetchAll () с условиями

0 голосов
/ 10 октября 2018

Я хотел бы добавить функцию поиска на мой взгляд.Проблема в том, что я получаю данные из raw sql вот так, поэтому я не знаю, как отфильтровать результаты:

        $conn = ConnectionManager::get('default');
        $stmt = $conn->execute('SELECT c.id as customerid, CONCAT(c.name, " ", c.surname) as customer, s.title as title, s.length, cs.created , DATE_ADD(cs.created, INTERVAL s.length DAY) as expiring_date, DATEDIFF(DATE_ADD(cs.created, INTERVAL s.length DAY), NOW()) as days_left
                                FROM customers c 
                                JOIN customer_service_types cs on c.id = cs.customer_id
                                JOIN service_types s on cs.service_type_id = s.id
                                WHERE s.is_subscription = 1 and DATE_ADD(cs.created, INTERVAL s.length DAY) > DATE_ADD(NOW(), INTERVAL -30 DAY)
                                ORDER BY expiring_date');
        $expiringServices = $stmt->fetchAll('assoc');
        //debug($expiringServices,true);

        $this->set(compact('expiringServices'));

Возможно ли filter результаты с помощью ввода формы?Я хочу, чтобы пользователь отфильтровал результаты, введя имя в текстовое поле и сравнив его с полем customer, которое возвращается из sql query.Можно предположить, что fetchAll(PDO::FETCH_FUNC, fun_name), но я не знаю, как это реализовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...