redbeanphp 默认隐藏属性

Posted

技术标签:

【中文标题】redbeanphp 默认隐藏属性【英文标题】:redbeanphp hide properties by default 【发布时间】:2017-06-19 11:19:13 【问题描述】:

我正在使用来自http://redbeanphp.com/ 的令人惊叹的 orm "RedbeanPhp",我非常喜欢它如何加快开发速度,但文档有点过时了。

    使用R::findAll()时如何选择几个属性?

例如我只想选择 id,来自用户的电子邮件,这将抓住所有用户列,但我只需要 2 列。

    默认情况下是否可以在 bean 中隐藏某些列? “例如在用户内部隐藏密码”?

为了解决这个问题,我目前使用了一些冗长的代码:

$users = R::findAll('users')->export();
foreach($users as $user)
 unset($user->password, $user->token);//...etc

print_r($users);

但如果能把它设置在保险丝模型之类的东西里就更好了?!

【问题讨论】:

【参考方案1】:

您可以使用getAll($sql_query) 代替findAll()

...在你的例子中

$users= R::getAll('select id,email from users')'

更多关于使用 RedBeanPHP 查询的信息here

Only "con": $users 不是 bean 数组,只是关联数组的数组,以 colnames 作为索引。

如果你觉得不够用,你可以使用函数convertToBeans(...),详见之前的链接

【讨论】:

以上是关于redbeanphp 默认隐藏属性的主要内容,如果未能解决你的问题,请参考以下文章

lsattr-列出隐藏属性

文件的隐藏属性

Linux学习之CentOS----文件与目录的默认权限与隐藏权限(转)

Spring Data REST 默认对 JSON 隐藏技术实体字段(@Version、@Id)。如何将它们作为通常的属性返回?

JavaScript Onclik在锚点中更改文本并启用具有表单字段的div并隐藏onload默认属性

Linux中的默认权限与隐藏权限(文件文件夹)