我希望我的ORM工厂能够返回x = 1且y等于1或2的记录。我已尝试使用and_where进行一些变更,但它返回的负载超过记录而不是它应该。然后将ORM存储在php变量中。这是我当前的代码
$tests = ORM::factory('Test')
->where('x', '=', 1)
->or_where('y', '=', 1)
->or_where('y', '=', 2)
->find_all();
答案 0 :(得分:1)
您可以通过and_where_open()
/ and_where_close()
对OR
语句进行分组(未经测试)
$test = ORM::factory('Test')
->where('x', '=', 1) // 1
->and_where_open() // 2
->where('y', '=', 1) // 3
->or_where('y', '=', 2) // 4
->and_where_close()
->find_all();
这应该创建一个像
这样的查询SELECT .. FROM .. WHERE x = 1 AND ( y=1 OR y=2 )
^^^^^ ^^^^^ ^^^ ^^^^^^
1 2 3 4