我不敢相信我不记得如何做到这一点,但是如何在我的模型中指定find()
方法返回的默认字段?我在谷歌上找不到如何做到这一点,或者至少我不知道要搜索的措辞。
问问题
58 次
1 回答
1
您最有可能需要做的是检查模型中的方法中是否fields
存在密钥。beforeFind()
如果fields
未设置键,您可以在本机模型中将其设置为 $this->fields,并beforeFind()
在 AppModel 中创建,然后您可以指示该方法使用$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()
- 这将更改您的查找。
调整它以满足您的需求,祝您好运!
于 2013-01-03T17:56:44.753 回答