我有两张table request
以及 status_tracker
. request
表有 request_id,approver_id ,status_id
字段和 status_tracker
有 request_id,status_before,changed_by,status_after
字段。每个请求都已审核,状态更改为17/20。我要在资产请求表中获取已审核的记录(状态=17)和审批者id=1866,并获取已审核的记录 changed_by
状态跟踪表中的“1877”。
我想获取记录001(status.tracker.changed\u by='1866')、002(approver\u id=1866和status\u tracker.status\u after='17')、004((status.tracker.changed\u by='1866'))。
request table
request_id approver_id status_id requestor
001 11 18 301
002 1866 17 113
003 115 17 159
004 112 19 163
005 1866 1 172
006 1866 20 172
status_tracker
request_id status_before status_after changed_by
001 null 1 301
001 1 17 1687
001 17 8 1724
001 8 18 1866
002 null 2 113
002 2 17 1687
003 null 1 159
003 1 17 1687
004 null 1 163
004 1 17 1687
004 17 8 1724
004 8 19 1866
005 null 1 172
006 null 1 172
006 1 20 1687
我尽了最大的努力
$users = DB::table('asset_status_tracker')
->leftJoin('asset_request', 'asset_status_tracker.request_id', '=','asset_request.request_id')
->where('asset_status_tracker.status_before','!=',null)
->orwhere('asset_status_tracker.changed_by','=',$approver_id)
->orwhere('asset_request.approver_id','=',$approver_id)
->where('asset_status_tracker.status_after','=','17')->get();
现在我得到了所有的审核记录00100200304005。我做了什么
3条答案
按热度按时间ibrsph3r1#
把你的两个或哪里放在一个函数中
ewm0tg9j2#
使用此选项:
jei2mxaa3#
你可以试试这个: