本文整理汇总了PHP中Apartment::getAllWithPagination方法的典型用法代码示例。如果您正苦于以下问题:PHP Apartment::getAllWithPagination方法的具体用法?PHP Apartment::getAllWithPagination怎么用?PHP Apartment::getAllWithPagination使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Apartment
的用法示例。
在下文中一共展示了Apartment::getAllWithPagination方法的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) {
//.........这里部分代码省略.........