gpt4 book ai didi

cakephp - 在 CAKEPHP 中仅获取某些字段

转载 作者:行者123 更新时间:2023-12-04 22:48:26 25 4
gpt4 key购买 nike

我的问题是当我从用户表中获取用户数据时,从用户表中获取用户表的所有字段..但我不想在其中包含密码和电子邮件地址,所以有什么方法可以只获取除密码和电子邮件地址?

问候。

最佳答案

正如 juhana 所提到的您不需要使用 find 调用返回的所有字段。目前尚不清楚您要解决的实际问题是什么,在 future 的问题中澄清这些细节符合您的利益。

直接查询

对于直接在用户模型上的查询,您可以使用如下逻辑:

public function beforeFind($queryData) {
if (empty($queryData['fields'])) {
$schema = $this->schema();
unset($schema['password']);
unset($schema['email']);

foreach (array_keys($schema) as $field) {
$queryData['fields'][] = $this->alias . '.' . $field;
}
return $queryData;
}

return parent::beforeFind($queryData);

}

然而

这不会对您查询另一个模型的查询做任何事情,例如
$results = $PostModel->find('all', array(
'contain' => array('User')
));

在上述情况下,将返回所有用户字段。对于这样的用途,最好明确定义您的字段列表,而不是依赖任何自动魔术:
$results = $PostModel->find('all', array(
'contain' => array('User')
'fields' => array('Post.*', 'User.name')
));

关于cakephp - 在 CAKEPHP 中仅获取某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14229470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com