public function construction($mailContentId)
{
$mailFieldClass = ClassRegistry::init('Mail.MailField');
// フィールドリストを取得
$mailFields = $mailFieldClass->find('all', array('conditions' => array('MailField.mail_content_id' => $mailContentId)));
if (!$this->tableExists($this->createFullTableName($mailContentId))) {
/* 初回の場合 */
$this->createTable($mailContentId);
$this->construction($mailContentId);
} else {
/* 2回目以降の場合 */
$this->setUseTable($mailContentId);
$this->_schema = null;
$this->cacheSources = false;
ClassRegistry::flush();
$schema = $this->schema();
$messageFields = array_keys($schema);
foreach ($mailFields as $mailField) {
if (!in_array($mailField['MailField']['field_name'], $messageFields)) {
$this->addMessageField($mailContentId, $mailField['MailField']['field_name']);
}
}
}
return true;
}