0

我有自定义验证规则:

public function customRule($check)
{


}

在此规则中,我想访问一些模型数据(在数据库中)。当然我可以这样做:

$this->id = 23; 
$this->read();

但是当前模型中的所有数据都将被read函数覆盖(我的意思$this->data[$this->alias][...]是被覆盖。

我怎样才能得到这些数据?

4

2 回答 2

3

使用常规

$result = $this->find('first', array('conditions' => array($this->alias . '.' . $this->primaryKey => $id));

在查找条件中使用 id。并使用结果,它不会覆盖数据属性。

于 2012-06-26T10:54:23.760 回答
1

请注意,如果您想获取当前正在验证的数据的完整记录,则始终可以在$this->data验证规则中访问它,而不是 $check 仅包含当前验证字段中的数据。

如果您需要根据存储在数据库中的内容进行验证,您可以使用$this->find()模型中的任何功能,就像您在模型中一样。

我支持@burzum 的回答+1。

于 2012-06-27T09:50:06.547 回答