假设我有两个表Doctor
& Doctor_department
在Doctor_department
表中有一些部门
部门列表
a(priority=1),b(priority=2),c(priority=3)
在Doctor
表中也有一些医生名单,在这些部门中有优先排序。
医生名单
d1(prority=1,dpearmtent=a),d2(prority=2,dpearmtent=a),d3(prority=3,dpearmtent=a),d4(prority=4,dpearmtent=b),d5(prority=5,dpearmtent=b),d6(prority=5,d6),(,)
现在我想按部门和优先级询问那些医生,如下所示
(a(d1,d2,d3)),(b(d4,d5)),c(d6,d7)
MySQL的查询是什么?
我可以根据医生的优先顺序来取医生名单,但不能按其优先级按升序去找医生。
查询
Doctor_list = Doctor::orderBy('priority', 'ASC')->get();
有人能帮忙吗?提前感谢
发布于 2020-12-09 11:15:40
这里有两种解决方案,第一种是在两个表之间连接,然后通过Doctor_department.priority进行排序。
第二个--我假设Doctor_department是一个枢轴表--并且您有一个“部门”表,并且有一个名为belongsToMany类型的医生关系,那么您可以使用下面的代码检索所有按优先级排序的部门,并有医生。
Department::orderBy('priority','ASC')->has('doctors')->with('doctors')->get();
https://stackoverflow.com/questions/65215276
复制相似问题