onethink在mysql下不能建立編輯器類型欄位

來源:互聯網
上載者:User

標籤:des   io   os   ar   sp   on   cti   代碼   工作   

onethink在mysql下不能建立編輯器類型欄位

clone最新的代碼安裝完畢,繼承基礎文檔,新增detaildesc欄位為編輯器類型,沒有建立表。且sql語句有誤

主要原因是  MYSQL5.x是不允許BLOB/TEXT類型的欄位擁有預設值的,暫時修複代碼為Admin/Controller/AttributeController.class.php

protected function updateField($field){        //檢查表是否存在        $table_exist = $this->checkTableExist($field[‘model_id‘]);        //擷取原欄位名        $last_field = $this->getFieldById($field[‘id‘], ‘name‘);        /*擷取預設值        1、  MYSQL5.x是不允許BLOB/TEXT類型的欄位擁有預設值的        2、  由於MYSQL是在‘strict mode’strict 模式下工作的,如果改為非strict 模式,上面的語句就可以執行成功         3、  MYSQL5.x在windows下是預設以‘strict mode’工作的,當執行上面的語句時,會給你一個錯誤或者警告資訊        */        if(strpos(strtolower($field[‘field‘]), ‘text‘) >=0){            $default = ‘‘;        }else{            $default = $field[‘value‘]!=‘‘ ? " DEFAULT ‘".$field[‘value‘] ."‘" : ‘‘;        }         $sql = <<<sql            ALTER TABLE `{$this->table_name}`CHANGE COLUMN `{$last_field}` `{$field["name"]}`  {$field["field"]} {$default} COMMENT ‘{$field["title"]}‘;sql;        $res = M()->execute($sql);        return $res !== false;    }



onethink在mysql下不能建立編輯器類型欄位

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.