YII框架的多条件查询

控制器:

namespace frontend\controllers;

use Yii;
use yii\base\InvalidParamException;
use yii\web\BadRequestHttpException;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
use yii\db\ActionIndex;
use common\models\LoginForm;
use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm;
use frontend\models\ContactForm;
use frontend\models\Search;
use yii\data\Pagination;
/**
 * Site controller
 */
class SearchController extends Controller
{
    //展示数据
    public function actionShow()
    {
        $where = Yii::$app->request->get();
        $query = new \yii\db\Query();
        $query->from('search');
        //判断where条件
        if(!empty($where['mold'])){
            $query->andWhere(['mold'=>$where['mold']]);
        }
        if(!empty($where['grade'])){
            $query->andWhere(['grade'=>$where['grade']]);
        }
        $data = $query->from('search')->all();
        // return $this->render('show',['data'=>$data]);
        $pages = new  Pagination([
            //'totalCount' => $countQuery->count(),
            'totalCount' => $query->count(),
            'pageSize'   => '3'  //每页显示条数
        ]);
                     $arr = $query->offset($pages->offset)->limit($pages->limit)->all();
                     return $this->render("show",['data'=>$data,'where'=>$where,'pages'=>$pages]);
    }
}



视图层:

/* @var $this yii\web\View */

use yii\helpers\Html;
use yii\helpers\Url;
use yii\base\Widget;

use yii\widgets\ActiveForm;
use yii\widgets\LinkPager;
$this->title = '多条件查询';
?>

title) ?>





    
    Document




 $form = ActiveForm::begin([
            'action'=>Url::toRoute(['search/show']),
            'method'=>'get',
    ]);             
echo "公司类型:".Html::input('text','mold');
echo "公司等级:".Html::input('text','grade');
echo Html::submitButton('搜索',['class'=>'btn btn-primary']);

ActiveForm::end();
?>
    
        
            
            
            
            
            
            
            
        
         $value): ?>
            
                
                
                
                
                
                
                
            
        
    
ID公司名称公司类型金额公司等级还款方式

         echo LinkPager::widget([
    'pagination'=>$pages,
    'nextPageLabel'=>"下一页",
    'firstPageLabel'=>"首页",
    ])
    ?>


我试了一下分页,出现了问题。

你可能感兴趣的:(YII)