cakephp菜鳥筆記3

接下里便是model部分,model是用<?php開始,但沒有?>結束。但cakephp的model部分做得非常好了,已有簡單ORM。
<?php
class Product extends AppModel {
 var $name = 'Product';
 var $belongsTo = array(
         "Taxonomy"=> array(
        "className" => 'Taxonomy',
        "foreignKey" => 'taxonomy_id',//這裏是product表的外鍵。
       )
       );
 //ORM屬性,產品屬於分類。
 
 var $validate = array(
  'tid' => array(
   'numeric' => array(
    'rule' => array('numeric'),
    //'message' => 'Your custom message here',
    //'allowEmpty' => false,
    //'required' => false,
    //'last' => false, // Stop validation after this rule
    //'on' => 'create', // Limit validation to 'create' or 'update' operations
   ),
  ),
  'name' => array(
   'rule' => array('notEmpty'),
   'message' => '產品名不能為空',
   //'allowEmpty' => false,
   //'required' => false,
   //'last' => false, // Stop validation after this rule
   //'on' => 'create', // Limit validation to 'create' or 'update' operations
  ),
  'url' => array( 
          'rule' => array('url','notEmpty'),//檢驗規則可以幾個一起
          'message' => 'url請正確填寫',
          'last' => true,
          ),
  'thumb_url' => array( 
          'rule' => array('url','notEmpty'),
          'message' => 'url請正確填寫',
          'last' => true,
          ),
  'lang' => array(
   'boolean' => array(
    'rule' => array('boolean'),
    //'message' => 'Your custom message here',
    //'allowEmpty' => false,
    //'required' => false,
    //'last' => false, // Stop validation after this rule
    //'on' => 'create', // Limit validation to 'create' or 'update' operations
   ),
  ),
 );
}

從上面代碼可知道,Product屬於Taxonomy,關鍵屬性就是$belongsTo,然後按以上格式就行數組定義,便能查詢時獲得相應的Taxonomy信息。

 除了ORM信息之外,上面還可知道,數據檢驗等信息,一般簡單的數據檢驗都可以按照以上處理,cakephp官網上有數據檢驗等參數,就是'rule'=>所指向的數組,url、boolean、notEmpty都是已經有定義,也可以使用正則表達式,需要自行查找使用方式。如果以上簡單的數據檢驗邏輯都無法滿足就必須要使用檢驗方法,在controller和model裏面都可以使用,具體請查找cakephp手冊。 

一般簡單的數據邏輯都可以如此處理,當然還可以在model裏面使用方法。這就需要自己查閱cakephp手冊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章