/**
* Display a listing of the resource.
*
* @return Response
*/
public function index(Request $request)
{
$user = \Auth::user();
$filter = $request->get('filter');
if ($filter && $filter != '') {
switch (strtolower($filter)) {
case 'active':
$freeproducts = FreeProduct::getListWithPaginate(8, 1);
break;
case 'inactive':
$freeproducts = FreeProduct::getListWithPaginate(8, 0);
break;
case 'participations':
//$userholdings = FreeProductParticipant::where('user_id', $user->id)->select('freeproduct_id')->get()->toArray();
//$freeproducts=FreeProduct::whereIn('id', $userholdings)->with('orders')->paginate(8);
$freeproducts = FreeProduct::with('orders')->join('freeproduct_participants as p', function ($join) {
$join->on('freeproducts.id', '=', 'p.freeproduct_id')->where('p.user_id', '=', \Auth::user()->id);
})->select('freeproducts.*', 'p.status as status_holding')->paginate(8);
//dd($freeproducts->toSql());
break;
default:
$freeproducts = FreeProduct::getListWithPaginate(8);
break;
}
} else {
$freeproducts = FreeProduct::getListWithPaginate(8);
}
$panel = $this->panel;
$route = route('freeproducts.search');
return view('freeproducts.index', compact('panel', 'freeproducts', 'filter', 'route'));
}