Advertisement
Guest User

CommonWay

a guest
May 15th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: hlogeon
  5.  * Date: 13.08.14
  6.  * Time: 12:33
  7.  *
  8.  * @author Degtyaruk Andrey <hlogeon1@gmail.com>
  9.  *
  10.  * The way most developers do even in huge projects!
  11.  *
  12.  */
  13.  
  14. class CompanyController extends Controller{
  15.  
  16.  
  17.  
  18.  
  19.     public function actionIndex()
  20.     {
  21.         // At first create filter from input data
  22.         /** @var $filter EMongoDocument */
  23.         $filter = new Company('search');
  24.         $filter->unsetAttributes();
  25.         if($data = $this->getFilterData($filter))
  26.             $filter->setAttributes($data);
  27.         $filter->search(); // Search
  28.  
  29.         $criteria = new EMongoCriteria(); // describe all criteria we need
  30.         // Now set criteria
  31.         $filter->setDbCriteria($criteria);
  32.         // Create data provider
  33.         $dataProviderConfig = array(
  34.             //describe data provider config
  35.         );
  36.         /** @var $dataProvider EMongoDocumentDataProvider */
  37.         $dataProvider = new EMongoDocumentDataProvider($filter, $dataProviderConfig);
  38.  
  39.         // Set scenario for models
  40.         $this->setScenario($dataProvider->getData(), 'list');
  41.  
  42.         // And finally render
  43.         $this->render('list', array(
  44.             'dataProvider' => $dataProvider,
  45.             'filter' => $filter,
  46.         ));
  47.  
  48.     }
  49.  
  50.  
  51.     protected function getFilterData()
  52.     {
  53.         //filtration
  54.     }
  55.  
  56.     protected function setScenario()
  57.     {
  58.         //Setting scenarios
  59.     }
  60.  
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement