У меня возникли проблемы с сохранением моих отношений HABTM для некоторого кода, с которым я работаю. У меня есть Podcasts
и Categories
в отношениях HABTM. Код и проблема объяснения нижеCakePHP HABTM отношения, сохраняющие новые ассоциации
Модель/Podcast.php
class Podcast extends AppModel{
public $hasMany = 'Episode';
public $hasAndBelongsToMany = array(
'Category' =>
array(
'className' => 'Category',
'joinTable' => 'categories_podcasts',
'foreignKey' => 'podcast_id',
'associationForeignKey' => 'category_id',
'unique' => false
)
);
}
Модель/category.php
class Category extends AppModel{
public $hasAndBelongsToMany = array(
'Podcast' =>
array(
'className' => 'Podcast',
'joinTable' => 'categories_podcasts',
'foreignKey' => 'category_id',
'associationForeignKey' => 'podcast_id',
'unique' => false
)
);
}
Это то, что массив я прохожу в saveAll()
выглядит
Array
(
[Podcast] => Array
(
[name] => Mohr Stories - FakeMustache.com
[description] => Join your host Jay Mohr and a rotating cast of his hilarious friends as they regale you with tales and conversation covering every topic imaginable. You haven't heard the half of it until you've heard... Mohr Stories.
[website] => http://www.FakeMustache.com
)
[Category] => Array
(
[0] => 1
[1] => 2
)
)
Который работает отлично - подкаст добавляется и присоединиться к таблице обновляется, но я был под впечатлением, что мой Category
массив может выглядеть следующим образом:
[Category] => Array
(
[0] => Array
(
[name] => Test
)
[1] => Array
(
[name] => Test2
)
)
Что бы сохранить новые категории «Test» и «Test2», а затем обновите таблицу соединений с их новыми добавленными идентификаторами. Разве это невозможно, или я пропускаю часть картины здесь?
'Я был под впечатлением' - на основе какой документации? – AD7six
На основе [данного раздела] (http://book.cakephp.org/2.0/en/models/saving-your-data.html#saving-related-model-data-habtm) страницы Сохранение ваших данных Docs. Их массив примеров там и описание _ «Передача указанного массива в файл saveAll() создаст содержащиеся теги, каждый из которых связан с их соответствующими рецептами.» _ – Bizarro181