【发布时间】:2018-01-16 07:38:34
【问题描述】:
我正在使用 luman 和 Database Query Builder 从数据库中获取完整的用户信息。
首先,请锁定我的数据库结构:
我有一个名为 users 的表和一系列与用户组相关的其他表(例如:secretaries、patients、doctors 和 admins),它们存储有关用户的其他信息。
此外,为了确定用户访问权限,我在 user 表上有一个 level 列,它可以将以下值之一作为枚举:'admin', 'doctor', 'secretary', 'patient'。
所以,我想使用join 和select 的one 查询来获取此信息。
我的训练代码是这样的:
$userInfo = User::where("userID", $userID)
->limit(1)
->join('[GROUP_TABLE_NAME]', function ($join) {
$join->on('user.userID', '=', '[GROUP_TABLE_NAME]' .'.'.
'[GROUP_NAME]' . 'ID');
})
->get();
GROUP_NAME来自user表上的level列,GROUP_TABLE_NAME可以基于GROUP_NAME 值(例如:['secretary' => 'secretaries' , 'patient' => 'patients' , ...])。
任何想法使用 laravel 查询构建器处理连接结构?
【问题讨论】:
-
看看多态关系laravel.com/docs/5.4/…
标签: php sql postgresql laravel lumen