redbeanphp 默认隐藏属性

redbeanphp hide properties by default

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

  1. 如何在使用 R::findAll() 时 select 一些属性?

例如我只想select用户的id,电子邮件,这将抓取所有用户列,但我只需要2列。

  1. 是否可以在bean中默认隐藏某些列? "hide password inside users for example"?

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

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

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

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

...在你的例子中

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

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

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

如果对您来说还不够,您可以使用函数 convertToBeans(...),详见之前 link