File: /var/www/limestate-api/Models/Flat.php
<?php
class Flat extends Db_Model
{
static $table_name = 'flats';
public static function getComplexStarers($complexId)
{
return self::$db->select('MIN(f.total_area) area, MIN(f.price) price, MAX(f.total_area) max_area, MAX(f.price) max_price, f.rooms')
->from(Flat::$table_name . ' f')
->join(Building::$table_name . ' b', 'b.id = f.building_id')
->where('b.complex_id = ?', $complexId)
->where('b.published = ?', 1)
->where('b.deleted_at IS NULL')
->where('f.published = ?', 1)
->where('f.deleted_at IS NULL')
->where('f.price > 0')
->where('f.total_area > 0')
->group('f.rooms')
->order('f.rooms ASC')
->fetchAll();
}
public static function getBuildingStarers($buildingId)
{
return self::$db->select('MIN(f.total_area) area, MIN(f.price) price, f.rooms')
->from(Flat::$table_name . ' f')
->where('f.building_id = ?', $buildingId)
->where('f.published = ?', 1)
->where('f.deleted_at IS NULL')
->where('f.price > 0')
->where('f.total_area > 0')
->group('f.rooms')
->fetchAll();
}
public static function getByOldId($oldId)
{
return self::$db->select()->from(self::$table_name)->where('old_ID = ?', $oldId)->fetchRow();
}
public static function getRangeValues($complexId)
{
return self::$db->select('MIN(f.total_area) min_area, MAX(f.total_area) max_area, MIN(f.price) min_price, MAX(f.price) max_price')
->from(Flat::$table_name . ' f')
->join(Building::$table_name . ' b', 'b.id = f.building_id')
->where('b.complex_id = ?', $complexId)
->where('b.published = ?', 1)
->where('b.deleted_at IS NULL')
->where('f.published = ?', 1)
->where('f.deleted_at IS NULL')
->where('f.price > 0')
->where('f.total_area > 0')
->group('b.complex_id')
->fetchRow();
}
}