getModel() ->when(isset($search['id']) && $search['id'] !== '',function($query) use ($search){ $query->where('id',$search['id']); }) ->when(isset($search['uid']) && $search['uid'] !== '',function($query) use ($search){ $query->where('uid',$search['uid']); }) ->when(isset($search['contacts_phone']) && $search['contacts_phone'] !== '',function($query) use ($search){ $query->where('contacts_phone',$search['contacts_phone']); }) ->when(isset($search['winery_name']) && $search['winery_name'] !== '',function($query) use ($search){ $query->where('winery_name','like',"%{$search['winery_name']}%"); }) ->when(isset($search['contacts_name']) && $search['contacts_name'] !== '',function($query) use ($search){ $query->where('contacts_name','like',"%{$search['contacts_name']}%"); }) ->when(isset($search['invite_agent_id']) && $search['invite_agent_id'] !== '',function($query) use ($search){ $query->where('invite_agent_id',$search['invite_agent_id']); }) ->when(isset($search['status']) && $search['status'] !== '',function($query) use ($search){ $query->where('status',$search['status']); }) ->with([ 'agent' => function($query){ $query->field('id,uid') ->with([ 'user' => function($query){ $query->field('uid,nickname,avatar')->bind(['nickname','avatar']); } ]); } ]); } }