目前有两表,分别为如下结构:
companys
companys_table = [
'id',
'name',
'created_at',
'updated_at',
]
users_table =[
'id',
'name',
'password',
'created_at',
'updated_at',
]
两张表间的关系为多对多关系,中间表结构如下
users_has_companys_table =[
'user_id',
'company_id'
]
功能需求是为某个公司添加员工,例如为 A 公司添加员工,管路员输入用户名称的关键字使用远程搜索,从后端查询出还未加入此公司的员工(未和 A 公司建立关联的 User),有哪些比较优雅的查询方法呢?
第一种方法利用“渴求加载”
在users_has_companys_table的model中定义一个函数
在users_has_companys_table里面的查询方法
第二种方法就是用简单的关联查询,你的业务逻辑应该只需要两张表连接。因此就不在这写了。
个人推荐第二种方法。所谓的优雅就是用最简单的方法解决问题!不要为了用它而去用它!