Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="sprite"]Добрый день. Имеются 2 таблицы users и publishings (пользователи и издания). Для связи между ними есть таблица users_publishings, которая содержит user_id и publishing_id. Bake для модели Publishing прописал вот такую ассоциацию [code] var $hasAndBelongsToMany = array( 'User' => array('className' => 'User', 'joinTable' => 'users_publishings', 'foreignKey' => 'publishing_id', 'associationForeignKey' => 'user_id', 'unique' => true, ... )) [/code] далее в контролере делаю [code] $publishing=$this->Publishing->findAll(); $this->set('publishing', $publishing); [/code] и на выходе получаю [code]Array ( [0] => Array ( [Publishing] => Array ( [id] => 1 [publisher_id] => 4 ... ) [Publisher] => Array ( [id] => 4 [address] => [foundation] => ... ) [User] => Array ( ) ) [1] => Array ( [Publishing] => Array ( [id] => 2 [publisher_id] => 5 ... ) [Publisher] => Array ( [id] => 5 ... ) [User] => Array ( ) ) [2] => Array ( [Publishing] => Array ( [id] => 3 [publisher_id] => 1 ... ) [Publisher] => Array ( [id] => 1 ... ) [User] => Array ( ) ) ) [/code] массив User пустой :( почему он не наполнился? (в таблице записи есть), из вывода также видно что ассоциация belongsTo к таблице publishers работает отлично, увеличивая рекурсивность выборки, выдаются дальнейшие ассоциации модели publisher, а ассоциация piblishing с user пустая. Что делать, куда копать? Cake последний 1.2[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
Hellbot
Добавлено: 23 Июн 2008 20:18:04
Заголовок сообщения:
sprite
А второй запрос будучи выполненый скажем через phpmyadmin (любой стронний продукт) имеет результат или нет ?
sprite
Добавлено: 20 Июн 2008 17:49:01
Заголовок сообщения:
вот такие два запроса
Код:
SELECT `Publishing`.`id`, `Publishing`.`publisher_id`, `Publishing`.`type`, `Publishing`.`who`, `Publishing`.`year`, `Publishing`.`regularity`, `Publishing`.`printing`, `Publishing`.`volume`, `Publishing`.`format`, `Publishing`.`color`, `Publishing`.`soft`, `Publishing`.`price`, `Publishing`.`head_publisher`, `Publishing`.`archiv_publisher`, `Publishing`.`name`, `Publisher`.`id`, `Publisher`.`address`, `Publisher`.`foundation`, `Publisher`.`user_id`, `Publisher`.`email`, `Publisher`.`phone`, `Publisher`.`name` FROM `publishings` AS `Publishing` LEFT JOIN `publishers` AS `Publisher` ON (`Publishing`.`publisher_id` = `Publisher`.`id`) WHERE 1 = 1
SELECT `User`.`id`, `User`.`created`, `User`.`updated`, `User`.`username`, `User`.`password`, `User`.`email`, `User`.`is_active`, `User`.`activation_token`, `User`.`is_admin`, `UsersPublishing`.`id`, `UsersPublishing`.`user_id`, `UsersPublishing`.`publishing_id`, `UsersPublishing`.`official` FROM `users` AS `User` JOIN `users_publishings` AS `UsersPublishing` ON ((`UsersPublishing`.`publishing_id` IN (1, 2, 3, 4)) AND (`UsersPublishing`.`user_id` = `User`.`id`))
Hellbot
Добавлено: 20 Июн 2008 15:43:03
Заголовок сообщения:
Покажите запрос который генерирует cake
sprite
Добавлено: 18 Июн 2008 13:21:58
Заголовок сообщения: не получается HABTM
Добрый день.
Имеются 2 таблицы users и publishings (пользователи и издания). Для связи между ними есть таблица users_publishings, которая содержит user_id и publishing_id. Bake для модели Publishing прописал вот такую ассоциацию
Код:
var $hasAndBelongsToMany = array(
'User' => array('className' => 'User',
'joinTable' => 'users_publishings',
'foreignKey' => 'publishing_id',
'associationForeignKey' => 'user_id',
'unique' => true,
...
))
далее в контролере делаю
Код:
$publishing=$this->Publishing->findAll();
$this->set('publishing', $publishing);
и на выходе получаю
Код:
Array
(
[0] => Array
(
[Publishing] => Array
(
[id] => 1
[publisher_id] => 4
...
)
[Publisher] => Array
(
[id] => 4
[address] =>
[foundation] =>
...
)
[User] => Array
(
)
)
[1] => Array
(
[Publishing] => Array
(
[id] => 2
[publisher_id] => 5
...
)
[Publisher] => Array
(
[id] => 5
...
)
[User] => Array
(
)
)
[2] => Array
(
[Publishing] => Array
(
[id] => 3
[publisher_id] => 1
...
)
[Publisher] => Array
(
[id] => 1
...
)
[User] => Array
(
)
)
)
массив User пустой
почему он не наполнился? (в таблице записи есть), из вывода также видно что ассоциация belongsTo к таблице publishers работает отлично, увеличивая рекурсивность выборки, выдаются дальнейшие ассоциации модели publisher, а ассоциация piblishing с user пустая. Что делать, куда копать? Cake последний 1.2
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».