Моя проблема сейчас заключается в том, что Модель имеет набор правил проверки, например:
var $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'uri' => array(
'slugged' => array(
'rule' => '/^[a-z0-9-_]+$/i',
'message' => 'This field should only contain characters, numbers, dashes and underscores'
),
'uniqueUrl' => array(
'rule' => array('uniqueUrl'),
'message' => 'A page has already acquired this url'
)
),
'meta_keywords' => array(
'rule' => 'notEmpty'
),
'meta_description' => array(
'rule' => 'notEmpty'
),
'layout' => array(
'rule' => 'notEmpty'
)
);
Проблема в том, что в другой модели, имеющей отношение «один», контроллер также вставляет в нее данные. Я не хочу требовать заголовок, URI и макет с этой страницы. Как мне это сделать?
У меня есть модель поста, и я устанавливаю значения страницы оттуда.
Array
(
[Post] => Array
(
[title] => data[Post][title]
[body] =>
Post Body
)
[Category] => Array
(
[Category] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
)
[Page] => Array
(
[meta_keywords] => data[Page][meta_keywords]
[meta_description] => data[Page][meta_description]
)
)
Я делаю это с контроллера, чтобы установить информацию для модели страницы
$this->data['Page']['title'] = $this->data['Post']['title'];
Получается так:
Array
(
[Post] => Array
(
[title] => data[Post][title]
[body] =>
Post Body
)
[Category] => Array
(
[Category] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
)
[Page] => Array
(
[meta_keywords] => data[Page][meta_keywords]
[meta_description] => data[Page][meta_description]
[title] => data[Post][title]
)
)
Моя проблема в том, что мне не требуется поле Page
при сохранении. Post belongsTo Page
.
Мне не требуется [Page][layout]
, когда при сохранении публикации как публикации используется представление метода по умолчанию в контроллере почты. Страница использует статические страницы и требует их при создании страницы, а не при создании публикации.