在我的菜单模型中,如果用户没有填充它,我正试图填充slug字段。
Model/Menu.php
public function beforeSave($options = array()){
if(
isset($this->data[$this->alias]['name']) &&
!isset($this->data[$this->alias]['slug'])
){
//than fill the slug field in the db for the user.
$this->data[$this->alias]['slug'] = strtolower(Inflector::slug($this->data[$this->alias]['name'], '-'));
}
}//end function
但是如果不通过这种方法保存所有数据都不起作用。
答案 0 :(得分:2)
根本不是那种方法。如果是,则不会保存,因为根据CakePHP Book中的说明,您没有return true;
。
您可能通过另一个模型的关联来保存菜单数据 - 在这种情况下,它会使用IT之前保存,而不是这个。