Как узнать в модели имя Action (a)?
Который ее вызывает.
Потому что мне надо чтобы валидация на Сreate и Update была разной.
Как узнать в модели имя Action (a)?
Который ее вызывает.
Потому что мне надо чтобы валидация на Сreate и Update была разной.
Yii::app()->controller->action.
Но для вашего случая, конечно, лучше подойдет использование сценариев.
может вот так ?
Yii::app()-> controller->action
Чёто не работает так:
if (Yii::app()->controller->action =='Create') {.....}
Виснет (код в модели)
[b]Здесь же напишу чтобы не открывать новую тему.
Подскажите как сделать:[/b]
У меня задача сделать редактирование галлереи.
загржаются файлы маленькая картинка, большая картинка, ну и прочая текстовая ерунда идет в базу.
Проверяю в контроллере на пустые поля картинок, если пусто, то картинку не перезаписываем, если выбрано что-то , то перезаписываем файл с тем же именем что был раньше (берем из базы)
Потом редирект на то же View где все они.
Так вот при редиректе у меня картинка не обновляется, пока F5 не нажмешь,
Я так понимаю что она из кеша берется? как рефрешнуть броузер тогда
в контроллере:
$this->redirect(array(‘menu/admin’,‘id’=>$_GET[‘id’], ‘orders’ =>1));
и вот ее то и надо рефрешнуть после загрузки.
Yii::app()->controller->action возвращает объект CAction, у которого есть свойство id (его имя). Так что получается: Yii::app()->controller->action->id должно работать.
Почему то в модели так не работает.
if (Yii::app()->controller->action->id =='create')
{
public function rules()
{
return array(......),
);
}
}
В модели логика не работает похоже, потому что если вызыватьиз контроллера Yii::app()->controller->action->id… выдает действительно то что надо.
Хорошо, почтитал форум, сделал через сценарии.
А с рефрешем как быть?
Я знаю что есть такая
$this->refresh();
Но как перегрузить страничку после того как редирект сделал?
Может как то так?
$this->refresh(array('menu/admin','id'=>$_GET['id'], 'orders' =>$_GET['orders']));
Ну тоесть параметры как то ей передать?, потому что так не работает