2015-10-06 2 views
0

У меня есть таблица Компания, и одно из ее полей - это статус. Он может иметь одно из двух значений: открытое или закрытое.Как фильтровать данные в модели Yii 2?

Я создал модель с использованием Gii.

Как я могу фильтровать данные в модели, чтобы на моей странице r=company/index увидеть только компании с закрытым статусом?

Обычно я пишу запрос, например "SELECT * FROM company WHERE status = 'closed'", но я не знаю, где его записать в Yii 2. Все эти вещи MVC заставляют меня сходить с ума. На самом деле я ничего не понимаю.

+1

Есть много документации на Yii сайте о рамочной структуре. Читайте об ActiveRecord http://www.yiiframework.com/doc-2.0/guide-db-active-record.html –

+0

вы также можете создать для него 'ActiveQuery', чтобы вы могли:' Company :: find() - > closed() -> all(); '(проверьте это: http://stackoverflow.com/questions/31948917/yii2-activequery-example-and-what-is-the-reason-to-generate-activequery-class/31950149 # 31950149) –

ответ

0

Вы можете попробовать это:

в контроллере:

$companies = Company::find() 
     ->where('status' => 'closed') 
     ->all(); 
+0

Должен ли я фильтровать данные в контроллере или модели? – Marat

+0

Вы должны сделать это внутри своего контроллера. Кроме того, вы используете CRUD, сгенерированный с помощью gii? – marche

+0

@marche yes, gii generated – Marat

Смежные вопросы