правильный массив данных для сохранения с такого рода отношениями - PullRequest
0 голосов
/ 31 декабря 2010
class Post extends AppModel {
    var $name = 'Post';
    var $hasMany = array(
        'CategoryPost' => array(
            'className' => 'CategoryPost'
        )
    );
    var $belongsTo = array(
        'Page' => array(
            'className' => 'Page'
        )
    );

class Category extends AppModel {
    var $name = 'Category';
    var $hasMany = array(
        'CategoryPost' => array(
            'className' => 'CategoryPost'
        )
    );

class CategoryPost extends AppModel {
    var $name = 'CategoryPost';
    var $validate = array(
        'category_id' => array(
            'rule'     => array('multiple', array('in' => array(1, 2, 3, 4))),
            'required' => FALSE,
            'message'  => 'Please select one, two or three options'
        )
    );
    var $belongsTo = array(
        'Post' => array(
            'className' => 'Post'
        ),
        'Category' => array(
            'className' => 'Category'
        )
    );

Будет ли это правильный формат массива, необходимый для его сохранения с помощью saveAll? Это не сохраняет модель CategoryPost. Если это не то, какой должен быть формат массива?

Array
(
    [Post] => Array
        (
            [title] => query
            [body] => 

query

            [page_id] => 122
            [modified] => 2010-12-30 23:33:47
            [created] => 2010-12-30 23:33:47
            [uri] => query-9
        )

    [CategoryPost] => Array
        (
            [0] => Array
                (
                    [category_id] => 1
                )

            [1] => Array
                (
                    [category_id] => 2
                )

        )

    [Page] => Array
        (
            [meta_keywords] => query
            [meta_description] => query
            [title] => query
            [layout] => index
        )

)

1 Ответ

0 голосов
/ 31 декабря 2010

Ну, все выглядит нормально, и данные CategoryPost должны быть сохранены.

Возможно, закомментируйте валидацию из модели CategoryPost и попробуйте тогда.

...