求教关于brophp框架中r_select()的用法
程序员文章站
2022-05-10 07:58:40
...
新人求教一个关于brophp框架r_select()的用法,今天在使用这个函数时候感到困惑,源代码如下:
$order=D("user");
$orderList=$order->field("uid")->where(array("uid"=>"8")->r_select(array('web_order','w_orderid,w_orderTime,w_workid,w_finishTime,state','uid'));
p($orderList);
如上所示,我建有user和web_order两个表,uid为user表的主键,为web_order表的外键,对于user表可以用where()来限制,但如何对从表web_order的字段state进行限制呢,求教各位phper,无限感激。
想要得到 uid=‘8’&&state=“未维修”。
$order=D("user");
$orderList=$order->field("uid")->where(array("uid"=>"8")->r_select(array('web_order','w_orderid,w_orderTime,w_workid,w_finishTime,state','uid'));
p($orderList);
如上所示,我建有user和web_order两个表,uid为user表的主键,为web_order表的外键,对于user表可以用where()来限制,但如何对从表web_order的字段state进行限制呢,求教各位phper,无限感激。
想要得到 uid=‘8’&&state=“未维修”。
回复讨论(解决方案)
brophp 的 ORG 是很差的,在设计时并没有考虑你这样的需求
同时规则太多,参数形式也不统一
你可以给 where 方法的参数数组的关联键附加表名来解决
->where(array("uid"=>"8", 'web_order.state' => 'val'))
可通过 sql 方法看看 SQL 指令是否正确
brophp 的 ORG 是很差的,在设计时并没有考虑你这样的需求
同时规则太多,参数形式也不统一
你可以给 where 方法的参数数组的关联键附加表名来解决
->where(array("uid"=>"8", 'web_order.state' => 'val'))
可通过 sql 方法看看 SQL 指令是否正确
尝试过您提供的方法,发现sql语句 select [字段名] from user where uid=8 and web_order.state=[val] 。from 后面只有user表名,sql语句错误,看来只有直接写sql语句解决了T_T
非常感谢斑竹大大的回答。