Форум программистов, компьютерный форум, киберфорум
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
1

Как в yii1 изменить search() модели для частного случая?

31.12.2015, 03:37. Просмотров 498. Ответов 1
Метки yii (Все метки)

Добрый день,

Есть такая задача:

Существуют 2 action в Контроллере Bids (Заявки)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
public function actionIndex()
  {
 
    $model=new Bids('search');
    $model->unsetAttributes();
    if(isset($_GET['Bids']))
      $model->attributes=$_GET['Bids'];
 
    $this->render('admin',
    [
      'model'=>$model,
    ]);
  }

Тут все прозрачно, метод search берется из модели Bids:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function search()
  {
    $criteria = new CDbCriteria;
    $criteria->compare('id',                $this->id);
    $criteria->compare('date_start',        $this->date_start);
    $criteria->compare('customer_id',       $this->customer_id);
    $criteria->compare('manager_id',        $this->manager_id);
    $criteria->compare('group_id',          $this->group_id);
    $criteria->compare('name',              $this->name,true);
    $criteria->compare('status_id',         $this->status_id);
    $criteria->addCondition("exist!=".ActiveRecord::EXIST_TRASH);
    $criteria->order = 'date_start DESC';
    return new CActiveDataProvider($this,
      [
        'criteria' => $criteria,
      ]);
  }

Есть необходимость Создания отдельного грида в actionArchiv у BidsController так, чтобы там отображались только те записи, у которых свойство status_id = '1'

Я так подозреваю что actionArchiv будет почти в точности повторять actionIndex, но каким то образом необходимо изменить метод search() для данного action, т.е. так уже не получится:
PHP
1
$model=new Bids('search');
Еще важно, чтобы при поиске в гриде в actionArchiv искались даписи только с единичным статусом.

Подскажите, что делать с search? Думал насчет создания новой модели с новым search, но это наверное быдлокод.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.12.2015, 03:37
Ответы с готовыми решениями:

Как для шаблонного класса определить действие для частного случая
Всем привет. Подскажите как для шаблонного класса определить действие для частного случая. По...

Нужен макрос OFFSET на ЛИСПе для частного случая
Здравствуйте! Мне приходится много отрисовывать защитных зон для электрокабелей. Делаю это командой...

Вывести формулу вектора магнитной индукции для частного случая
Пользуясь выражением для модуля вектора индукции В, создаваемой круговым током, выведите формулу...

Auto layout. Как настроить Constrains для данного случая?
Как настроить Constraints для данного случая? Хочу чтобы UIImageView располагались как на...

1
12 / 12 / 9
Регистрация: 09.07.2013
Сообщений: 85
31.12.2015, 07:09 2
PHP
1
$model = Bids::model->findAllByAttributes(array('status_id'=>1));
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.12.2015, 07:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как удалить Piese Search из Google Chrome? Аналогичный Get Search
Аналогичный Get Search.

Как подтвердить лицензионность Win 8 и ПО на ноутбуке для частного предприятия ?
Здравствуйте ! Если человек зарегистрирован как ЧП. Покупает пару ноутбуков себе в контору - могут...

Как изменить одно строчное текстовое поле в модели
Изучать django начал недавно и появились затруднение. Во 1 почему когда только зашел на страницу...

Как изменить последовательность вывода колонок в QTableView, или в модели?
Здравствуйте. Добавил в таблице столбец, нужно чтоб он выводился к примеру на 3-м месте. Сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.