1
Custom макросы / Выборка похожих объектов каталога по одному свойству
« : 03 Мая 2012, 15:14:42 »
Здравствуйте, форумчане.
Помогите, пожалуйста, реализовать такую задачку.
Есть каталог многоквартирных домов (объектов недвижимости; дом является разделом каталога). У домов есть подразделы - объекты каталога - квартиры. У квартир есть характеристики "цена от" и "цена до" за квадратный метр.
Когда я нахожусь в конкретном доме, мне нужно сделать выборку похожих домов по цене. То есть выбрать дома из каталога, квартиры которых похожи по стоимости на квартиры текущего дома.
Делаю я все это с помощью класса selector, но слабая документация по нему, не позволяет продвинуться.
Привожу пример выборки:
public function getRelatedOffers($element_id, $metro, $price) {
$sel = new selector('pages');
$sel->types('object-type')->id(853); // house type
$sel->where('hierarchy')->page('/object-info/')->childs(1);
if(isset($metro)){
$sel->where("metro")->like($metro);
}
if(isset($price)){
$sel->where('hierarchy')->page('/object-info/')->childs(1, $sel->where("cena_ot")->between(1000, 5000));
}
$sel->order('name')->asc();
$sel->limit(0, 6);
}
Собственно не могу понять как сделать запрос, если передан параметр price.
Заранее благодарю за любые мысли по этому поводу.
Помогите, пожалуйста, реализовать такую задачку.
Есть каталог многоквартирных домов (объектов недвижимости; дом является разделом каталога). У домов есть подразделы - объекты каталога - квартиры. У квартир есть характеристики "цена от" и "цена до" за квадратный метр.
Когда я нахожусь в конкретном доме, мне нужно сделать выборку похожих домов по цене. То есть выбрать дома из каталога, квартиры которых похожи по стоимости на квартиры текущего дома.
Делаю я все это с помощью класса selector, но слабая документация по нему, не позволяет продвинуться.
Привожу пример выборки:
public function getRelatedOffers($element_id, $metro, $price) {
$sel = new selector('pages');
$sel->types('object-type')->id(853); // house type
$sel->where('hierarchy')->page('/object-info/')->childs(1);
if(isset($metro)){
$sel->where("metro")->like($metro);
}
if(isset($price)){
$sel->where('hierarchy')->page('/object-info/')->childs(1, $sel->where("cena_ot")->between(1000, 5000));
}
$sel->order('name')->asc();
$sel->limit(0, 6);
}
Собственно не могу понять как сделать запрос, если передан параметр price.
Заранее благодарю за любые мысли по этому поводу.