/*除本基類檔案外,所有的模型類的類名的構造規則應該是模型名(首字母大寫)+model組成,檔名必須是模型名+.model組成
如有乙個使用者模型,模型名為user,則其檔名應為user.model.php,類名為usermodel
驗證規則和預設值
$required = (isset($_v['required']) && $_v['required']) ? true : false;
$type = isset($this->_autov[$_k]['type']) ? $this->_autov[$_k]['type'] : 'string';
$min = isset($this->_autov[$_k]['min']) ? $this->_autov[$_k]['min'] : 0;
$max = isset($this->_autov[$_k]['max']) ? $this->_autov[$_k]['max'] : 0;
$filter = isset($this->_autov[$_k]['filter']) ? $this->_autov[$_k]['filter'] : ''; //過濾器支援多個,使用「,」隔開
$valid= isset($this->_autov[$_k]['valid']) ? $this->_autov[$_k]['valid'] : ''; //自定義驗證規則
$reg = isset($this->_autov[$_k]['reg']) ? $this->_autov[$_k]['reg'] : '';
$default = isset($this->_autov[$_k]['default']) ? $this->_autov[$_k]['default'] : '';
find()方法的引數
$arr = array(
'include' => array(), //這個不知道是做什麼的,有待研究
'join'=> '', //left join 多個時使用","隔開
'conditions' => '', //where 條件,如果是數字就當做主鍵的值,如果是字串就是sql,如果是陣列就被當做in子句來使用即可,如果需要使用子查詢,就自己寫sql吧、
'order' => '',
'fields' => '', //字段
'limit' => '',
'count' => false,
'index_key' => $this->prikey,
);關聯模型的關係配置筆記
1、如果有belang_to 和 多對多的關係需要設定反向關係
2、依賴的設定使用在模型的資料刪除上,如果資料被其他資料依賴,資料刪除後,依賴也應該刪除的
新增資料每條記錄必須為乙個陣列
乙個data的例子
$data = array(
array(
'title' => '這是乙個例子!',
'code'=>'test',
'cate_id'=> '0'
),array(
'title' => '這又是乙個例子!',
'code'=>'test',
'cate_id'=> '0'));
*/
自己配置模型的注意事項:
1、成員初始化,這幾個變數是必須要設定的
var $table = 'article'; 定義表名var $prikey = 'article_id'; //定義主要鍵
var $_name = 'article'; //定義模型名稱
2、初始化自動驗證,規則如上面所示
/*新增編輯時自動驗證
*/var $_autov =array(
'title' =>array(
'required' => true, //
必填 'min' => 1, //
最短1個字元
'max' => 100, //
最長100個字元
'filter' => 'trim',
),'sort_order' =>array(
'filter' => 'intval',
),'cate_id' =>array(
'min' => 1,
'required' => true, //
必填),
'link' =>array(
'filter' => 'trim',
'max' => 255, //
最長100個字元
), );
3、關係的規則
var $_relation =array(//一篇文章只能屬於乙個店鋪
'belongs_to_store' =>array(
'model' => 'store',
'type' =>belongs_to,
'foreign_key' => 'store_id',
'reverse' => 'has_article',
),//一篇文章只能屬於乙個文章分類
'belongs_to_acategory' =>array(
'model' => 'acategory',
'type' =>belongs_to,
'foreign_key' => 'cate_id',
'reverse' => 'has_article', //
對應acategory
),
//乙個文章對應多個上傳檔案
'has_uploadedfile' =>array(
'model' => 'uploadedfile',
'type' =>has_many,
'foreign_key' => 'item_id',
'ext_limit' => array('belong' =>belong_article),
'dependent' => true
), );
關係模型需要注意的幾個地方就是:
1、關係採用鏈結方式全部都是使用左聯結的方式處理的。
2、屬於關係和多對多關係必須指明反響關係
3、has_one和has_many關係後面可以使用關係dependent,用於刪除資料時,自動刪除依賴,比如文章分類擁有多個文章,依賴關係配置為 true刪除分類的時候,自動刪除分類下面的文章。
Ecmall系統自帶的分頁功能
在ecmall的二次開發中,分頁是必不可少的。這個系統已經自帶了分頁功能,下面來看看如何使用這個分頁。下面是乙個自定義的類,用於檢視訂單的詳細情況。關鍵在於get order data 這個方法,分頁的使用也在這個方法的內部了。應該有的注釋都有了,應該會比較容易懂,我不就多說了。phpdefine ...
DACE Kriging 模型用法
1.關於theta取值 dace工具箱內dacefit函式自帶theta 優化,只需在初始設定 theta0 lob 和upb即可。猜測初始值theta0的選取,不影響最終結果。但是影響計算效率和加點數。dace工具箱手冊內給的算例為 theta 10 10 lob 1e 1 1e 1 upb 20...
ECMall 中URL體系的改造思路
ec系列的產品都已停止更新很久了,但其對中國中小電商企業的影響無疑是巨大的。很多公司,都是直接拿來即改,改了即用。但他們都有個問題,是比較傳統的開發模式過來的,尤其ecshop。ecmall系統的 結構實際上則可認為已經到了比較體系話的程度。由於看到很多人在用ecmall,所以根據自己的經驗,提出一...