public function buildShopQuery()
 {
     $this->qry = ShopDetails::leftJoin('users', 'users.id', '=', 'shop_details.user_id')->leftJoin('product', function ($join) {
         $join->on('users.id', '=', 'product.product_user_id');
     })->Select("shop_details.*", "users.created_at", "users.first_name", "users.last_name", "users.email", "users.activated", "users.id", \DB::raw('count(product.id) as script_cnt'));
     $this->qry->groupBy('users.id');
     $this->qry->Where('users.id', '<>', 0);
     //form the search query
     if ($this->getSrchVal('user_code')) {
         $this->qry->whereRaw("( users.id = ?  OR users.id =  ? )", array(CUtil::getUserId($this->getSrchVal('user_code')), $this->getSrchVal('user_code')));
     }
     if ($this->getSrchVal('user_name')) {
         $name_arr = explode(" ", $this->getSrchVal('user_name'));
         if (count($name_arr) > 0) {
             foreach ($name_arr as $names) {
                 $this->qry->whereRaw("( users.first_name LIKE '%" . addslashes($names) . "%' OR users.last_name LIKE '%" . addslashes($names) . "%'  )");
             }
         }
     }
     if ($this->getSrchVal('shop_name')) {
         $name_arr = explode(" ", $this->getSrchVal('shop_name'));
         if (count($name_arr) > 0) {
             foreach ($name_arr as $names) {
                 $this->qry->whereRaw("( shop_details.shop_name LIKE '%" . addslashes($names) . "%')");
             }
         }
     }
     if ($this->getSrchVal('user_email')) {
         $this->qry->Where('users.email', $this->getSrchVal('user_email'));
     }
     if ($this->getSrchVal('shop_featured')) {
         if ($this->getSrchVal('shop_featured') == 'Yes') {
             $this->qry->Where('shop_details.is_featured_shop', 'Yes');
         } else {
             $this->qry->Where('shop_details.is_featured_shop', 'No');
         }
     }
     $this->qry->orderBy('users.created_at', 'desc');
     return $this->qry;
 }