当前位置: 首页>>代码示例>>PHP>>正文


PHP Apartment::getAllApartments方法代码示例

本文整理汇总了PHP中Apartment::getAllApartments方法的典型用法代码示例。如果您正苦于以下问题:PHP Apartment::getAllApartments方法的具体用法?PHP Apartment::getAllApartments怎么用?PHP Apartment::getAllApartments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Apartment的用法示例。


在下文中一共展示了Apartment::getAllApartments方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: actionIndex

 public function actionIndex()
 {
     $this->layout = '//layouts/catalog';
     // set seo title
     $this->seoTitle = "Catalog - Golden Wall";
     $returns = array('model' => new ApartmentSearchForm(), 'count' => 0);
     $request = Yii::app()->request;
     // create apartment
     $model = new Apartment();
     $search = array('owner_active = 1');
     $params = array();
     // pull all request parameters for future filtering
     if ($request->getParam('best') == '1') {
         $search[] = ' AND best = :best';
         $params['best'] = 1;
     }
     if (is_numeric($request->getParam('obj_type_id'))) {
         $search[] = ' AND obj_type_id = :obj_type_id';
         $params['obj_type_id'] = $request->getParam('obj_type_id');
     }
     if (is_numeric($request->getParam('type'))) {
         $search[] = ' AND type = :type';
         $params['type'] = $request->getParam('type');
     }
     if (is_numeric($request->getParam('land_square_min')) || is_numeric($request->getParam('land_square_max'))) {
         $search[] = ' AND (land_square >= :land_square_min AND land_square <= :land_square_max)';
         $params['land_square_min'] = $request->getParam('land_square_min');
         $params['land_square_max'] = $request->getParam('land_square_max');
     }
     if (is_numeric($request->getParam('square_min')) || is_numeric($request->getParam('square_max'))) {
         $search[] = ' AND (square >= :square_min AND square <= :square_max)';
         $params['square_min'] = $request->getParam('square_min');
         $params['square_max'] = $request->getParam('square_max');
     }
     if (is_numeric($request->getParam('price_min')) || is_numeric($request->getParam('price_max'))) {
         $search[] = ' AND (price >= :price_min AND price <= :price_max)';
         $params['price_min'] = $request->getParam('price_min');
         $params['price_max'] = $request->getParam('price_max');
     }
     if (is_numeric($request->getParam('aren_doh_min')) || is_numeric($request->getParam('aren_doh_max'))) {
         $search[] = ' AND (aren_doh >= :aren_doh_min AND aren_doh <= :aren_doh_max)';
         $params['aren_doh_min'] = $request->getParam('aren_doh_min');
         $params['aren_doh_max'] = $request->getParam('aren_doh_max');
     }
     $attr = array('balkon', 'bassein', 'garage', 'lift', 'num_of_rooms', 'parkovka');
     foreach ($attr as $a) {
         if ($request->getParam($a) > '') {
             $search[] = ' AND ' . $a . ' = :' . $a;
             $params[$a] = $request->getParam($a);
         }
     }
     if (is_numeric($request->getParam('region_id'))) {
         $search[] = ' AND region = :region_id';
         $params['region_id'] = $request->getParam('region_id');
     }
     if ($request->getParam('coord')) {
         $poly_coordinates = $request->getParam('coord');
         $all_apartments = Apartment::getAllApartments();
         $polygon_x = array();
         $polygon_y = array();
         if (!empty($poly_coordinates)) {
             foreach ($poly_coordinates as $coordinates) {
                 $coord_arr = array();
                 $coordinate = explode('|', $coordinates);
                 $polygon_x[] = $coordinate[0];
                 $polygon_y[] = $coordinate[1];
             }
         }
         $apart_id = array();
         foreach ($all_apartments as $all) {
             $j = count($poly_coordinates) - 1;
             for ($i = 0; $i < count($poly_coordinates); $i++) {
                 if ($polygon_y[$i] < $all->lng && $polygon_y[$j] >= $all->lng || $polygon_y[$j] < $all->lng && $polygon_y[$i] >= $all->lng) {
                     if ($polygon_x[$i] + ($all->lng - $polygon_y[$i]) / ($polygon_y[$j] - $polygon_y[$i]) * ($polygon_x[$j] - $polygon_x[$i]) < $all->lat) {
                         $apart_id[] = $all->id;
                     }
                 }
                 $j = $i;
             }
         }
         if (!empty($apart_id)) {
             $search[] = ' AND ( ';
             for ($k = 0; $k < count($apart_id); $k++) {
                 $search[] = ' id =  :id_' . $k;
                 $params['id_' . $k] = $apart_id[$k];
                 if ($k < count($apart_id) - 1) {
                     $search[] = ' OR ';
                 }
             }
             $search[] = ' ) ';
         }
     }
     $search = count($search) > 0 ? implode('', $search) : null;
     // get items with pagination
     $items = $model->getAllWithPagination(10, $request->getParam('page'), $search, $params, $request->getParam('sort'));
     if ($request->getParam('sort')) {
         $params['sort'] = $request->getParam('sort');
     }
     // check items is exist and move it to params of template
     if ($items) {
//.........这里部分代码省略.........
开发者ID:kirians,项目名称:sf,代码行数:101,代码来源:Maxim_Yii_CatalogController.php


注:本文中的Apartment::getAllApartments方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。