php - redbeanphp 中的多个 where 子句

标签 php redbean

我使用 readbeanphp 作为我的 php 项目的 ORM。我正在尝试加载带有附加 where 子句的 bean。但我不知道该怎么做。

通常我会得到这样的“ bean ”:

$book = R::load('book', $id);

这基本上就像是说:

SELECT * FROM book WHERE id = '$id'

但是我需要在 where 子句中添加另一个条件:

SELECT * FROM book WHERE id = '$id' AND active = 1

我如何使用 redbeanphp 做到这一点?

最佳答案

R::find()R::findOne() 就是您要查找的内容:

$beans=R::find("books","active=? AND id=?",array(1,1));

或者如果您只想要一个 bean:

$bean=R::findOne("books","active=? AND id=?",array(1,1));

R::find() 将返回多个 bean,而 R::findOne() 仅返回单个 bean。

从技术上讲,您可以使用R::load(),但必须在加载 bean 后使用 PHP 检查 active 字段以测试它是否有效:

$bean=R::load("book",$id);
if($bean->active==1){//valid
   //do stuff
}else{//not valid
   //return error
}

希望这有帮助!

关于php - redbeanphp 中的多个 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10162752/

相关文章:

php - 在没有很多查询的情况下访问 Redbean 多对多条目?

php - Windows Azure PHP 队列 REST 代理限制

php - 选中复选框时 Ajax 更新数据库

php - 在redbean php中获取 'owner' bean

php - 与 redbeanphp 的交集

php - 属性命名约定

php - 在 SELECT 语句中插入变量

php - 查询从其他表中获取相应的用户 ID

php - Jtable 插件的替代品?

php - 查询未在 PHP 中给出预期结果