<?php
class Category extends AppModel {

  var $name = 'Category';
  var $actsAs = array('Tree');

  var $validate = array(
    'parent_id' => array(
      'existCategory' => array(
        'rule'=> array('existCategory'),
        'message'=>'親カテゴリーが存在しません。'
      )
    ),
    'name' => array(
      'unique' => array(
        'rule' => array('isUnique'),
        'on' => 'create',
        'message' => 'その識別名のカテゴリは既に登録されています。'
      ),
      'alphaNumeric' => array(
        'rule' => array('custom', '/^[!-~]+$/'),
        'message' => '識別名は半角英数字のみ有効です。'
      ),
      'required' => array(
        'rule' => VALID_NOT_EMPTY,
        'allowEmpty' => false,
        'required' => true,
        'message' => '識別名を入力してください。'
      )
    ),
    'title' => array(
      'required' => array(
        'rule' => VALID_NOT_EMPTY,
        'allowEmpty' => false,
        'required' => true,
        'message' => 'カテゴリ名を入力してください。'
      )
    )
  );

  function existCategory($check) {
    $checkCategory = array('id' => $check['parent_id']);
    if ($this->isUnique($checkCategory)) {
      return false;
    }
    return true;
  }

  var $hasMany = array(
    'Article' => array(
      'className' => 'Article',
      'foreignKey' => 'category_id',
      'dependent' => true,
      'conditions' => '',
      'fields' => '',
      'order' => '',
      'limit' => '',
      'offset' => '',
      'exclusive' => '',
      'finderQuery' => '',
      'counterQuery' => ''
    )
  );

}
?>
