Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Проблемы с uses

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru