|
Cake-PHP.ru Форум программистов CakePHP (на сайт)
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
LOBsTerr
цитировать
Зарегистрирован: 24 Фев 2010 21:49:00 Сообщения: 6
|
Добавлено: 24 Мар 2010 22:32:42 Заголовок сообщения: Контроллер не цепляет модель |
|
|
1) есть таблица order_items
2) Есть контроллер
Код: |
class OrderItemsController extends AppController {
var $name = 'OrderItem';
var $helpers = array('Form','Html');
var $uses = array('OrderItem','Order','Dish');
var $paginate = array(
'limit' => 10,
'OrderItem' => array(
'OrderItem.created' => 'desc'
)
);
....
}
|
3) есть модель
Код: |
class OrderItem extends AppModel {
var $name = 'OrderItem';
var $belongsTo = array(
'Order' => array(
'className' => 'Order',
'foreignKey' => 'order_id'
),
'Dish' => array(
'className' => 'Dish',
'foreignKey' => 'dish_id'
)
);
var $validate = array(
...
}
|
Так вот почему-то у меня игнорируется модель напрочь. Я даже ошибки специально делаю в файле, он не инклюдится ;((
При этом вывожу сам контроллер. Мне пишет что ModelName = 'OrderItem' и аналогично видно, что срабатывает uses, так как вижу еще Dish и Order в контроллере.
Но не belongsTo, не правила validates у меня не отрабатывают, отсюда и докаплся, что модель не цепляется.
Точно такая же ситуация наблюдается и с классами DishType.
У меня есть подозрение, что проблема у меня с именованием. Так как на простых словах Order, Dish, Item модели работают отлично и belongsTo, validates.
С чем может быть связана такая проблема ? |
|
Вернуться к началу |
|
|
PALOMINO Гость цитировать
|
Добавлено: 25 Мар 2010 18:02:31 Заголовок сообщения: |
|
|
Имена файлов проверьте. |
|
Вернуться к началу |
|
|
LOBsTerr
цитировать
Зарегистрирован: 24 Фев 2010 21:49:00 Сообщения: 6
|
Добавлено: 25 Мар 2010 22:15:59 Заголовок сообщения: |
|
|
Ну хорошо вот название таблицы: order_items
файл контроллера называется: orderitems_controller.php
класс контроллера: OrderItemsController
файл модели называется: orderitem.php
класс модели: OrderItem
как правильно должны называться файлы ? _________________ Лишь утратив все до конца, мы обретаем свободу. |
|
Вернуться к началу |
|
|
PALOMINO Гость цитировать
|
Добавлено: 26 Мар 2010 10:34:10 Заголовок сообщения: |
|
|
order_item.php
class OrderItem extends AppModel {
order_items_controller.php
class OrderItemsController extends AppController
А вообще, юзайте консоль для создания файлов и навсегда забудите что такое проблеммы с именованием файлов. |
|
Вернуться к началу |
|
|
LOBsTerr
цитировать
Зарегистрирован: 24 Фев 2010 21:49:00 Сообщения: 6
|
Добавлено: 27 Мар 2010 10:05:42 Заголовок сообщения: |
|
|
2 PALOMINO - спасибо большое
А можно по подробней, первый раз услышал про консоль.
Можно пожалуйста ссылку на консоль, или статью по работе с консолью? _________________ Лишь утратив все до конца, мы обретаем свободу. |
|
Вернуться к началу |
|
|
LOBsTerr
цитировать
Зарегистрирован: 24 Фев 2010 21:49:00 Сообщения: 6
|
Добавлено: 27 Мар 2010 10:16:34 Заголовок сообщения: |
|
|
Вот нашел очень подробную статью, надеюсь кому нибудь пригодиться
http://com.spweb.ru/archives/139 _________________ Лишь утратив все до конца, мы обретаем свободу. |
|
Вернуться к началу |
|
|
PALOMINO Гость цитировать
|
Добавлено: 28 Мар 2010 16:40:02 Заголовок сообщения: |
|
|
LOBsTerr
Статья по установке на винды. На, неапример, убунте, все намного проще =)
Запускаем, синаптик, устанавливаем cakePHP из репозитория. И фпиред =)
При таком раскладе, разработка сводиться к следующему:
1. Проэктируем базу данных. Причом не за компом этим занимаемся, а берем например лист А4 (я щас на ватмане проэктирую ). И создаем таблицы на бумаге. Создаем все таблицы, предусматриваем все связи между ними. При этом учитываем правила именований для связных таблиц.
2. Создаем базу на основе спроэктированных данных.
3. Запускаем консоль, переходим в диреторию будущего проэкта. И пишем:
cake bake
И... Произойдет базовая настройка. Т.е. он задавая вам кучу вопросов сам настроит подключение к базе, сам начальные файлы сделает.
3. Далее, на основе базы данных создаються, модели, контроллеры, виды.
На этом с консолью заканчиваем, пока.
4. Выпиливаем лишний функционал, допиливаем свой.
5. Запускаем консоль, переходим в директорию проэкта, пишем: cake i18n extract -- создаем файлы локализаций. На тот случай, если надумаем делать многоязычный проэкт. Да, все текстовые выводы, должны быть завернуты в ф-цию __().
6. Настраиваем кеш, отключаем дебаг.
Все. Вроде.
А вообще, надобы ещё юнит тесты прикрутить к проэкту. Правда мой первый опыт ихнего использования оказался неудачным
З.Ы. гдето в нете встречал упоминания о том, что как-то можно изменить шаблоны, по которым кек автоматом файлы создает. Но на самое вкусное традиционно времени нету. |
|
Вернуться к началу |
|
|
Shiz
цитировать
Зарегистрирован: 27 Май 2008 19:20:34 Сообщения: 10
|
Добавлено: 28 Мар 2010 17:08:46 Заголовок сообщения: |
|
|
PALOMINO, посмотри файлы в /cake/console/libs/tasks/ _________________ Keep It Simple, Stupid! |
|
Вернуться к началу |
|
|
|
|
Вы можете начинать темы Вы можете отвечать на сообщения Вы можете редактировать свои сообщения Вы можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group Русская поддержка phpBB
|