【发布时间】:2020-01-31 09:33:54
【问题描述】:
线索表
- 身份证
- 标题
- owner_id
- from_table
员工表
- 身份证
- 名字
- 姓氏
- 角色
管理表
- 身份证
- 名字
- 姓氏
- 角色
$users = Leads::query();
return Datatables::make($users)
->editColumn('owner_id', function ($user) {
if($user->from_table == 'employee'){
$emp = Employee::where('id',$user->owner_id)->first();
return $emp->first_name.' '.$emp->last_name.' ('.$emp->role.')';
}
if($user->from_table == 'admin'){
$admin = Admin::where('id',$user->owner_id)->first();
return $admin->first_name.' '.$admin->last_name.' ('.$admin->role.')';
}
})
上述解决方案运行良好,但我们无法在数据表中按列搜索。
我想要的是加入查询,例如:
如果(leads.from_table == 员工) // 从 EMPLOYEE TABLE 获取数据,即 LEADS TABLE + EMPLOYEE TABLE
- 身份证
- 标题
- owner_id
- from_table
- 名字
- 姓氏
- 角色
如果(leads.from_table == 管理员) // 从 ADMIN TABLE 获取数据,即 LEADS TABLE + ADMIN TABLE
- 身份证
- 标题
- owner_id
- from_table
- 名字
- 姓氏
- 角色
【问题讨论】:
-
除非管理员不是员工,否则我认为我不会将它们存储在单独的表中(至少不是他们的名字等)
-
是的,管理员不是员工,但他们可以将任何潜在客户分配给员工。