【问题标题】:How to query for department wise doctor list according to their priority?如何根据优先级查询科室智慧医生名单?
【发布时间】:2023-03-30 21:33:01
【问题描述】:

假设我有两张表Doctor & Doctor_department

Doctor_department 表中有一些部门

部门列表

a(优先级=1), b(优先级=2), c(优先级=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=6, dpearmtent=c), d7(prority=7, dpearmtent=c)

现在我想根据部门和优先级查询那些医生,如下格​​式

(a(d1,d2,d3)),(b(d4,d5)),(c(d6,d7))

MySQL 的查询是什么?

我可以根据优先级获取医生列表升序,但不能根据优先级获取科室升序的医生。

查询

Doctor_list = Doctor::orderBy('priority', 'ASC')->get();

有人可以帮忙吗? 提前致谢

【问题讨论】:

    标签: php mysql laravel laravel-5


    【解决方案1】:

    您在这里有两个解决方案,第一个是在两个表之间连接并按 Doctor_department.priority 排序。

    我假设第二个 Doctor_department 是一个数据透视表,并且您有“部门”表,并且有称为类型为 belongsToMany 的医生的关系,然后您可以使用下面的代码检索按优先级排序的所有部门并拥有医生。

    Department::orderBy('priority','ASC')->has('doctors')->with('doctors')->get();
    

    【讨论】:

    • ->has('doctors')->with('doctors')->has('doctors')->with('doctor_department') ?
    • 您在部门模型中定义的关系名称是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多