Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Created by PhpStorm.
- * User: hlogeon
- * Date: 13.08.14
- * Time: 12:33
- *
- * @author Degtyaruk Andrey <hlogeon1@gmail.com>
- *
- * The way most developers do even in huge projects!
- *
- */
- class CompanyController extends Controller{
- public function actionIndex()
- {
- // At first create filter from input data
- /** @var $filter EMongoDocument */
- $filter = new Company('search');
- $filter->unsetAttributes();
- if($data = $this->getFilterData($filter))
- $filter->setAttributes($data);
- $filter->search(); // Search
- $criteria = new EMongoCriteria(); // describe all criteria we need
- // Now set criteria
- $filter->setDbCriteria($criteria);
- // Create data provider
- $dataProviderConfig = array(
- //describe data provider config
- );
- /** @var $dataProvider EMongoDocumentDataProvider */
- $dataProvider = new EMongoDocumentDataProvider($filter, $dataProviderConfig);
- // Set scenario for models
- $this->setScenario($dataProvider->getData(), 'list');
- // And finally render
- $this->render('list', array(
- 'dataProvider' => $dataProvider,
- 'filter' => $filter,
- ));
- }
- protected function getFilterData()
- {
- //filtration
- }
- protected function setScenario()
- {
- //Setting scenarios
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement