我有一张表“付款”,其中包含以下内容: ID CLIENT_ID 用户身份 和支付款项。
我有另一个表用户 ID 名字 中间名字 姓 功能(客户端或管理员)
使用以下sql查询加入用户
$payments = Payment::findpayments()
->select('users.firstname', 'users.middlename', 'users.lastname', 'payments.*')
->join('users','payments.client_id', '=', 'users.id')
->where('payments.id', '=', $id)
->get();
现在我从客户端获取firstname等,但我需要为客户端获取firstname中间名lastname两次,管理员sombody有任何想法如何加倍加入同一个表?
答案 0 :(得分:0)
您可以通过别名双重加入。这些行中的东西
->join('users','payments.client_id', '=', 'users.id')
->join('users as admin','payments.client_id', '=', 'admin.admin_id')
请确保您正确加入它们,但只要您将它们作为别名,我认为应该没问题。
请记住,您还需要在选择
中对它们进行别名->join('users','payments.client_id', '=', 'users.id')
->join('users as admin','payments.client_id', '=', 'admin.admin_id')
->select('users.name', 'admin.name as admin_name')