我用的是蛋糕2.3.1
在我的事件/添加视图中,我有这个字段:
echo $this->Form->input('customer_id', array('label' => 'Customer: '));
这是一个输入选择表单,其中包含我的所有客户。现在我需要这个:
echo $this->Form->input('title', array('type' => 'hidden'));
将自动填入我在上面字段中选择的客户名称
如何做到这一点
关系:
客户有许多事件(外键->Customer_id(
在根据选择而更改的表单中设置隐藏值不是一个好主意。由于最终用户可以很容易地更改其值,或者可能完全禁用Javascript(这是动态更改所必需的(,因此它是不可信的。最好是在事件模型的beforeSave方法中保存表单时获得标题。例如:
function beforeSave($options = array()) {
if (isset($this->data[$this->alias]['customer_id'])) {
// Set the Customer.name field as Event.title
$this->data[$this->alias]['title'] = $this->Customer->field(
'name', array(
// The condition for the find operation on this customer
'id' => $this->data[$this->alias]['customer_id']
)
);
}
return true;
}