我创建了一个类别模型。我还创建了一个项目模型。项目模型属于类别模型,因此当您创建新项目时,您会收到一个类别下拉列表以选择您想要的类别。
其中一个类别是“Root”,我不希望在下拉列表中显示。我创建了我的belongsTo方法,如此
var $belongsTo = array(
'User' => array(
'className' => 'User',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Category' => array(
'className' => 'Category',
'conditions' => array('Category.id '=>'1'),
'fields' => '',
'order' => ''
),
);
对于我的控制器,我打开了脚手架。
这是我的分类模型
class Category extends AppModel {
var $name = 'Category';
var $displayField = 'name';
var $actsAs = array('Tree');
var $validate = array(
'name' => array(
'alphanumeric' => array(
'rule' => array('alphanumeric'),
//'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
),
),
'parent_id' => array(
'notempty' => array(
'rule' => array('notempty'),
//'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
),
),
'url' => array(
'notempty' => array(
'rule' => array('notempty'),
//'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
),
),
);
var $belongsTo = array(
'ParentCategory' => array(
'className' => 'Category',
'conditions' => '',
'foreignKey' => 'parent_id',
'fields' => '',
'order' => ''
),
);
}
答案 0 :(得分:1)
我认为你的意思是从下拉菜单中删除Root
蛋糕生成与关联?在这种情况下,试试这个:
$categories = $this->Category->find('list',
array('conditions' => array('Category.name !=' => 'Root')));
$this->set(compact('categories'));
答案 1 :(得分:0)
改为使用'conditions' => array('Categories !=' =>'1'),
。
验证用于保存数据,而不是用于查找。