У меня есть отношения, установленные на модели с primaryKey, установленной в 'Document.guid', вместе с этим у меня есть связанная модель DocumentVersion.CakePHP с выделением условных обозначений
class Document extends DocumentAppModel {
public $hasMany = array(
'DocumentVersion' => array(
'className' => 'DocumentVersion',
'foreignKey' => false,
'finderQuery' => 'SELECT * FROM document_versions as `DocumentVersion` WHERE `DocumentVersion`.`document_guid` = {$__cakeID__$} ORDER BY `DocumentVersion`.`version` DESC LIMIT 1'
)
);
}
class DocumentVersion extends DocumentAppModel {
public $belongsTo = array(
'Document'
);
}
Когда я пытаюсь и использовать $ this-> Document-> SaveAll() это только сохраняет данные документа и не связанных данных. По моему мнению, это имеет какое-то отношение к тому факту, что я не использую соглашения cakephp, чтобы сделать свою связь.
Моя структура данных
$filtered[] = array(
'Document' => array(
'guid' => $upload['guid'],
'database_revision' => Configure::read('Settings.LocalDataBaseRevision')
),
'DocumentVersion' => array(
array(
//'guid' => $upload['guid'],
'parent_guid' => (isset($upload['parent_guid'])) ? $upload['parent_guid'] : null,
'document_type_id' => $upload['type'],
'owner' => $upload['owner_id'],
'editor_id' => (isset($uplaod['editor_id'])) ? $uplaod['editor_id'] : null,
'title' => $upload['title'],
'crc' => (isset($upload['crc'])) ? $upload['crc'] : null,
'payload' => (isset($upload['payload'])) ? $upload['payload'] : null,
'database_revision' => Configure::read('Settings.LocalDataBaseRevision'),
'version' => 1 // Always set version number to 1 on uploads
)
)
);
Каковы данные, которые вы хотите сохранить? – Supravat
Я отредактировал свой вопрос, чтобы вы могли видеть формат моих данных. –
Чтобы устранить неполадки, измените Document hasMany Document_revision на стандартное отношение (т. Е. Без 'finderquery'). Если этот 'saveall' работает, то вы знаете его из-за опции« finderquery ». В противном случае это ваш формат массива. Если это из-за 'finderquery', я рекомендую вам иметь 1 hasMany отношение для всех отношений документа (которые вы можете использовать для сохранения) и 1 hasOne отношение для самой последней версии. – AgRizzo