新人求教一个关于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=“未维修”。
rebuild是一款高度可配置化的企业管理系统!可免费商用!低代码/零代码快速搭建企业中台、OA办公自动化、CRM客户关系管理、WMS库存管理、TMS运输管理、SCM供应链管理,甚至是 ERP 企业资源计划!REBUILD 侧重于业务需求实现,而非基础技术框架或项目启动模板,通过 REBUILD 可以真正实现零代码快速搭建,无需编程、无需编译代码,甚至无需了解技术。 使用开始使用 REBUIL
回复讨论(解决方案)
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
非常感谢斑竹大大的回答。










