|
Cake-PHP.ru Форум программистов CakePHP (на сайт)
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
LOBsTerr
цитировать
Зарегистрирован: 24 Фев 2010 21:49:00 Сообщения: 6
|
Добавлено: 01 Мар 2010 23:15:03 Заголовок сообщения: Проблемы с uses |
|
|
Есть вот такой в принципе простой контроллер редактирования блюд. Хочу его связать с типами и меню. Но как только ставлю $uses.
Переменная $this->Dish становиться пустой. Соотвественно выдает ошибки на любое обращение к методам модели. Пока не нашел никаких вариант. Как написать свои методы, которые достают Типы и Меню. Это конечно работает, но вопрос не в этом. Почему uses не хочет подключаться (((
Код: |
class DishesController extends AppController {
var $name = 'Dish';
//var $uses = array('User', 'Role');
var $helpers = array('Form','Html','SiteMessage');
//var $uses = array();
var $paginate = array(
'limit' => 10,
'order' => array(
'Dish.created' => 'desc'
)
);
function beforeFilter () {
$this->checkSession();
$user = $this->Session->read('currentUser');
if ($user) {
if ( $user['role'] != 'admin') {
$this->flash('Доступ запрещен','/Main');
}
}
}
function index() {
$this->pageTitle = 'Блюда';
$Dishs = $this->paginate('Dish');
$this->set('data', $Dishs);
}
function edit($id = null) {
$this->Dish->id = (int)$id;
$this->data = $this->Dish->read();
$this->set('Dish', $this->data);
$this->set('Types', $this->getTypeList());
$this->set('Menus', $this->getMenuList());
if ((int)$id == 0) {
$this->pageTitle = 'Добавление нового блюда';
} else {
$this->pageTitle = 'Редактирование блюда';
}
}
function save() {
if (!empty($this->data)) {
if ($this->Dish->save($this->data)) {
$this->flash('Данные сохранены','/Dishes');
} else {
$this->set('Types', $this->getTypeList());
$this->set('Menus', $this->getMenuList());
$this->set('Dish', $this->data);
$this->render('edit');
}
} else {
$this->flash('Ошибочный запрос','/Dishes');
}
}
function delete($id) {
if ($this->Dish->del($id)) {
$this->flash('Данные удалены','/Dishes');
} else {
$this->flash('Ошибка удаления','/Dishes');
}
}
function getMenuList() {
$types = $this->Dish->getTypes();
$types_array = array();
$types_array[''] = ' - Выберите тип - ';
//$this->flash('Ошибка сохранения','/Dishs/edit');
foreach($types as $type) {
$types_array[$type['dish_types']['id']] = $type['dish_types']['title'];
}
return $types_array;
}
function getTypeList() {
$menus = $this->Dish->getMenus();
$menus_array = array();
$menus_array[''] = ' - Выберите меню - ';
foreach($menus as $menu) {
$menus_array[$menu['menus']['id']] = $menu['menus']['title'];
}
return $menus_array;
}
}
?>
|
|
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 02 Мар 2010 12:02:30 Заголовок сообщения: |
|
|
var $uses = array('Dish','User', 'Role'); |
|
Вернуться к началу |
|
|
LOBsTerr
цитировать
Зарегистрирован: 24 Фев 2010 21:49:00 Сообщения: 6
|
Добавлено: 03 Мар 2010 17:58:28 Заголовок сообщения: |
|
|
Спасибо, Влад! Блин обратил на это внимание, когда читал мануалы. А когда дело дошло до практики написания, все из головы вылетело) _________________ Лишь утратив все до конца, мы обретаем свободу. |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 03 Мар 2010 18:16:14 Заголовок сообщения: |
|
|
You welcome |
|
Вернуться к началу |
|
|
|
|
Вы можете начинать темы Вы можете отвечать на сообщения Вы можете редактировать свои сообщения Вы можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group Русская поддержка phpBB
|