MailMessage::construction PHP Méthode

construction() public méthode

メッセージ保存用テーブルのフィールドを最適化する 初回の場合、id/created/modifiedを追加する 2回目以降の場合は、最後のカラムに追加する
public construction ( integer $mailContentId ) : boolean
$mailContentId integer
Résultat boolean
    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;
    }