我无法相信我不记得如何执行此操作,但如何在模型中指定使用find()
方法返回的默认字段?我在google上找不到怎么做,或者至少我不知道要搜索的措辞。
答案 0 :(得分:1)
您最有可能需要做的是检查模型中fields
方法中是否存在beforeFind()
密钥。
如果未设置fields
密钥,您可以将其设置为原生模型中的$ this->字段,并在AppModel中创建beforeFind()
,然后您可以指示该方法使用模型中的$this->fields
数组。
<强>更新强>
// AppModel.php
parent function beforeFind($queryData = array()) {
if (empty($queryData['fields']) && !empty($this->fields)) {
$queryData['fields'] = $this->fields;
}
return $queryData;
}
//在您的模型中:
public $fields = array(
'Alert.id'
);
这将检查是否存在fields
数组,然后检查是否存在$this->fields
属性。如果确实存在,它会将其应用于查询数据并将修改后的查询数据返回给beforeFind()
- 这将更改您的查找。
调整它以满足您的需求,祝您好运!