Написание INNER JOIN в wpdb WordPress
17 сент. 2015 г., 20:50:19
Просмотры: 14.4K
Голосов: 1
У меня проблема с написанием SQL запроса с INNER JOIN в WordPress. Эта логика точно должна работать, я проверил этот запрос в phpmyadmin и там всё работает
SELECT booking_calendars.cal_name
FROM booking_calendars
INNER JOIN booking_reservation
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE 'pending'
Но в WordPress это не работает
$pending_reservations = $wpdb->get_results("
SELECT booking_calendars.cal_name
FROM'.$wpdb->prefix.'booking_calendars AS booking_calendars
INNER JOIN' . $wpdb->prefix.'booking_reservation AS booking_reservations
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE 'pending'");
И затем
echo "<h2>Ожидающие бронирования: </h2><br>";
var_dump( $pending_reservations);
if($pending_reservations>0)
{
foreach ( $pending_reservations as $pending_reservation )
{
echo "<label>". $pending_reservation->cal_name."</label><br>";
}
}else{
echo "<label>Нет ожидающих бронирований</label><br>";
}
При var_dump переменной $pending_reservations
возвращается array(0) { }
в WordPress

Mina Ragaie
139
Комментарии
Все ответы на вопрос
1
0
спасибо за ваше время и спасибо @czerspalace
Я начал запрос с двойных кавычек, затем разделил его одинарными, и после просмотра вывода echo обнаружил, что нет пробелов между From
и названием таблицы
вот правильный способ
$pending_reservations = $wpdb->get_results('
SELECT booking_calendars.cal_name
FROM '.$wpdb->prefix.'booking_calendars AS booking_calendars
INNER JOIN '. $wpdb->prefix.'booking_reservation AS booking_reservations
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE "pending"');

Mina Ragaie
139
17 сент. 2015 г. 22:05:06
Похожие вопросы
1
ответов