PODS CMS неверный запрос
У меня есть такой запрос:
$Record = new Pod('event');
$where_clause = "DATE(enddate) >= CURDATE() AND event_type.name='Training'";
$Record->find('startdate ASC', 100, $where_clause);
Он возвращает только 1 элемент, в то время как у меня есть 2 удовлетворить запрос.
У меня есть проверка с каждым запросом:
$Record = new Pod('event');
$where_clause = "DATE(enddate) >= CURDATE()";// AND
$Record->find('startdate ASC', 100, $where_clause);
А также
$Record = new Pod('event');
$where_clause = "event_type.name='Training'";// AND
$Record->find('startdate ASC', 100, $where_clause);
Я получил 2 пункта по обоим запросам.
Можете ли вы дать несколько советов, чтобы это исправить? Заранее спасибо.
1 ответ
Код, который вы используете, предназначен для работы с Pods 1.X, но сам ваш запрос выглядит хорошо. В Pods 2.X вы захотите выполнить приведенный ниже код, который объединяет глобальную функцию pods() с ее методом find, а затем использует метод total для проверки количества возвращаемых элементов.
$param = array(
"where" => "DATE(enddate) >= CURDATE() AND event_type.name='Training'",
"orbery" => "t.startdate ASC",
"limit" => "100",
);
$pod = pods( 'event', $param );
$number = $pod->total();
У вас есть записи в $pod и общее число в $ number, которые вы можете использовать для управления циклом, когда просматриваете результаты в $pod. Если вы хотите, вы можете использовать total_found для получения количества записей, которые были бы возвращены, если бы вы не ограничивали его.
Кроме того, вы проверили, что у вас действительно есть две записи, которые должны быть возвращены. Возможно, что при объединении двух запросов только один из них удовлетворяет обоим условиям.
Вам также следует ознакомиться с руководством Перри Бонвелла, где он объясняет, как запрашивать будущие события. Он использует PHP, а не функции SQL для обработки дат, но в остальном у него похожий подход.