Итак, я придумал этот запрос, который отлично работает при выполнении. Однако, поскольку я хочу использовать разбиение на страницы из Zend, запрос должен быть через адаптер.Zend Framework advanced WHERE IN query
Это запрос, который должен быть преобразован: (. Я уже перерезал запрос таким образом, только важная часть здесь я отдаю себе отчет в том, что вы не можете запустить этот запрос LOL)
//snip
WHERE
city IN (
SELECT
Plaatsnaam
FROM
plaatsnamen
WHERE
Latitude
BETWEEN
?
AND
?
AND
Longitude
BETWEEN
?
AND
?
)
//snip
Работает отлично! Однако .. Как вы можете видеть, я использую «продвинутый» WHERE IN case. Так или иначе, я не могу заставить это преобразовать, и я застрял.
Это то, что он должен быть преобразован в:
$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select('gethousecity.id, city')
->from('gethousecity')
->join('houses_props', 'houses_props.id = gethousecity.id')
->where('city IN()') // HOW TO CONVERT THE UPPER QUERY TO FIT IT HERE?
->where('is_online = 1')
->where('houses_props.prop_name = ?', 'something')
->where('houses_props.prop_value BETWEEN ? AND ?', array(1,2));
Я не нашел никаких документов вообще о том, как преобразовать запрос в какой-то формат, который подходит здесь. Кто-нибудь есть идеи? В основном потому, что мне нужно вставить некоторые значения, а ZF переписывает какое-то странное дерьмо.
Я сейчас застрял, любая помощь была бы потрясающей!
Да, для этих простых вопросов есть. Не когда у вас есть подзапрос. – ChrisH
См. Мой обновленный ответ :) –
Еще более обновленный :) –