HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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();
    }

}