Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="Саша"]По запросу сложно понять, что там не работает. Выложи код моделей и их связок ...[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
maximt
Добавлено: 19 Фев 2009 17:19:18
Заголовок сообщения:
во спасиба. сделал в модел юзера var $recursive=2;
показало
Код:
SELECT `User`.`id`, `User`.`name`, `User`.`city_id`, `User`.`desc`, `City`.`id`, `City`.`name` FROM `users` AS `User` LEFT JOIN `cities` AS `City` ON (`User`.`city_id` = `City`.`id`) WHERE `User`.`id` = 1 LIMIT 1 1 1 1
6 SELECT `City`.`id`, `City`.`name` FROM `cities` AS `City` WHERE `City`.`id` = 3 1 1 1
7 SELECT `Product`.`id`, `Product`.`user_id`, `Product`.`product_type_id`, `Product`.`name`, `Product`.`desc` FROM `products` AS `Product` WHERE `Product`.`user_id` = (1) 2 2 2
8 SELECT `ProductType`.`id`, `ProductType`.`name` FROM `product_types` AS `ProductType` WHERE `ProductType`.`id` = 1 1 1 1
9 SELECT `ProductType`.`id`, `ProductType`.`name` FROM `product_types` AS `ProductType` WHERE `ProductType`.`id` = 3
evilbloodydemon
Добавлено: 18 Фев 2009 16:48:18
Заголовок сообщения:
совсем забыл, верни как у тебя было и поставь в запросе 'recursive'=>2
Цитата:
http://book.cakephp.org/view/439/recursive
- как раз твой случай
maximt
Добавлено: 18 Фев 2009 14:01:34
Заголовок сообщения:
модифицировал контроллер
сделал так
Код:
var $uses = array('User','Product');
function view($id = null)
{
$this->User->id = $id;
$this->set('users', $this->User->read());
$this->set('products', $this->Product->find('all', array('conditions' => array('user_id' => $id))));
}
получилось то что нада.
т.е. связка
Код:
class Product extends AppModel {
var $name = 'Product';
var $belongsTo = 'ProductType';
}
срабатывает.
теперь думаю как сделать такое для индекса(вывести всех юзеров и все их продукты)
maximt
Добавлено: 18 Фев 2009 12:21:19
Заголовок сообщения:
код минимальный. вот он. вместе с кейком. 650кб
в корне дамп базы.
http://depositfiles.com/files/vhvbvzuxg
спасибо что откликнулись
evilbloodydemon
Добавлено: 17 Фев 2009 15:44:31
Заголовок сообщения:
maximt
аа, вон оно че, тогда
Цитата:
модель для user_product и сделать связь $belongsTo = 'product_type';
в самый раз, разбирайся почему именно не работает. выложи код где-нибудь, я посмотрю.
maximt
Добавлено: 17 Фев 2009 14:19:39
Заголовок сообщения:
у пользователя есть личные данные и список продуктов.
у продукта есть категория, с описанием этой категории
мне нужно вывести:
информация пользователя и список продуктов пользователя
и конечно вместо айди категории вывести описание этой категории
между юзером и категорией отношений ни каких
только юзер-продукт
evilbloodydemon
Добавлено: 17 Фев 2009 13:29:41
Заголовок сообщения:
maximt
мне почему-то тяжело понять написанное. вкратце я понял так.
тебе нужно найти пользователей, у которых есть продукты определенной категории.
одним запросом по юзерам тут не отделаешься. выбери продукти в нужной категории, а потом найди пользователей, которые ими владеют.
не забудь зайти в jabber-конференцию
cakephp@conference.jabber.ru
=)
maximt
Добавлено: 17 Фев 2009 12:56:11
Заголовок сообщения:
модель одна
Код:
class User extends AppModel {
var $name = 'User';
var $belongsTo = 'City';
var $hasMany = array('user_products');
}
теперь нужно к user_products привязать product_type
в user_products есть поле product_type_id и по нему из product_type выбираем имя продукта с id=product_type_id
пробовал создать модель для user_product и сделать связь $belongsTo = 'product_type';
но привязки не происходит..
Саша
Добавлено: 16 Фев 2009 11:18:07
Заголовок сообщения:
По запросу сложно понять, что там не работает.
Выложи код моделей и их связок ...
maximt
Добавлено: 14 Фев 2009 08:38:50
Заголовок сообщения:
я так понимаю
user_products-hasMany = 'user_products'
генерирует свой контроллер и модель в обход моего контроллера user_products и модели product?
задача то тривиальная , ктото точно сталкивался..
maximt
Добавлено: 13 Фев 2009 21:08:50
Заголовок сообщения:
эту страничку заездил уже. но под свой случай не нашел решения..
если имеется ввиду атрибут модели var $recursive
то пробовал прибавлять..
сейчас схема отношений выводит такой лист запросов
SELECT `User`.`id`, `User`.`Name`, `User`.`city_id`, `City`.`id`, `City`.`Name` FROM `users` AS `User` LEFT JOIN `cities` AS `City` ON (`User`.`city_id` = `City`.`id`) WHERE 1 = 1
SELECT `UserProduct`.`id`, `UserProduct`.`user_id`, `UserProduct`.`name`, `UserProduct`.`product_type_id`, `UserProduct`.`info` FROM `user_products` AS `UserProduct` WHERE `UserProduct`.`user_id` IN (1, 2, 3, 4, 5, 6, 7)
вот нужно добиться чтобы во втором запросе тоже был левый джойн..
Саша
Добавлено: 13 Фев 2009 18:57:11
Заголовок сообщения:
Кейк никогда ничего не игнорирует
http://book.cakephp.org/view/78/Associations-Linking-Models-Together
Читай доки, смотри логи.
Что касается твой проблемы, я думаю тут с рекурсией трабл, она скорее всего стоит на значении 1, попробуй увеличить ...
maximt
Добавлено: 13 Фев 2009 14:24:44
Заголовок сообщения: сложные отношения таблиц
новичек в кейке. возник вопрос
есть базы
users (id,name,city_id)
cities(id,name)
product_type(id,name)
user_products(id,user_id,product_type_id,info)
модель user связана с cities
belongsTo = 'City'
т.е. при выборке юзеров выбирается город соответствующий city_id
в тоже время user связана с user_products
hasMany = 'user_products'
т.е. при выборке юзеров выбираются все продукты с user_id нашего юзера
теперь самое сложное, где мне нужна помощь
мне нужно связать user_products с product_type.
чтобы по product_type_id выбиралось соответствующее имя
пробую создать контроллер user_products
и связать его
belongsTo = 'product_type'
но кейк игнорирует этот контроллер.. как я понимаю генерится свой
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».