|
Cake-PHP.ru Форум программистов CakePHP (на сайт)
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
sprite
цитировать
Зарегистрирован: 28 Мар 2008 15:59:20 Сообщения: 3
|
Добавлено: 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 |
|
Вернуться к началу |
|
|
Hellbot
цитировать
Зарегистрирован: 19 Май 2008 16:29:15 Сообщения: 34
|
Добавлено: 20 Июн 2008 15:43:03 Заголовок сообщения: |
|
|
Покажите запрос который генерирует cake |
|
Вернуться к началу |
|
|
sprite
цитировать
Зарегистрирован: 28 Мар 2008 15:59:20 Сообщения: 3
|
Добавлено: 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
цитировать
Зарегистрирован: 19 Май 2008 16:29:15 Сообщения: 34
|
Добавлено: 23 Июн 2008 20:18:04 Заголовок сообщения: |
|
|
sprite
А второй запрос будучи выполненый скажем через phpmyadmin (любой стронний продукт) имеет результат или нет ? |
|
Вернуться к началу |
|
|
|
|
Вы можете начинать темы Вы можете отвечать на сообщения Вы можете редактировать свои сообщения Вы можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group Русская поддержка phpBB
|