Paginate Возврат только Пагинация без данных Laravel 5 - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь разбить свои данные на страницы с помощью lagvel paginate. Итак, я делаю так, что у меня есть модель магазина, которая имеет отношение один ко многим с моделью купона.

class Store extends Model
{

    protected $fillable =['id','name','heading_1','url','slug','image','status','total_coupon_used_times'];


    public function categories()
    {
        return $this->belongsToMany('App\Category', 'store_categories', 'category_id', 'store_id');
    }
    public function coupons()
    {
        return $this->hasMany('App\Coupon');
    }
}

Это моя модель купона, которая имеет обратное отношение один ко многим.

class Coupon extends Model
{
    protected $fillable=['id','name','description','status','coupon_type','coupon_status','coupon_code','discount_amount','coupon_url','coupon_used_times','slug','store_id'];


    public function store()
    {
        return $this->belongsTo('App\Store');
    }
}

Далее, когда я попытался запросить модель своего магазина с купонами, используя paginate. Я был успешно в этом.

Вот мой контроллер магазина, в котором я успешно проделал то же самое.

class StoreController extends Controller
{
public function index(Request $request){
        if($request->isMethod('get')) {
            $name=$request->input('letter');
            $category=$request->input('category');
            $categories=Category::all();
            if($name==null || $category==null){
                $stores = Store::with('coupons')->paginate(15);
                $storesWithCount=$this->countCoupons($stores);

                return view('stores', ['stores' => $storesWithCount,'search'=>false,'categories'=>$categories]);
            }else {
                $stores=Store::has('categories')->where('name', 'LIKE', "$name%")->get();
                $storesWithCount=$this->countCoupons($stores);
                return view('stores', ['stores' => $storesWithCount,'search'=>true,'categories'=>$categories]);
            }

        }else{
            abort(403, 'Unauthorized action.');
        }
    }
}

Но я попытался сделать то же самое с моей моделью купона в моем контроллере купона, это дает мне только нумерацию страниц безданные.

class CouponController extends Controller
{

public function index(Request $request){
        if($request->isMethod('get')){
            $coupons=Coupon::with('store')->paginate();

            return view('coupons',['coupons'=>$coupons]);

        }else{
            abort(403, 'Unauthorized action.');
        }

    }
}

вот изображение данных, которое возвращается к просмотру enter image description here

Контроллер купонов также возвращает данные, если заменить paginate на get ().

public function index(Request $request){
        if($request->isMethod('get')){
            $coupons=Coupon::with('store')->paginate();
            die($coupons);
            return view('coupons',['coupons'=>$coupons]);

        }else{
            abort(403, 'Unauthorized action.');
        }

    }

Так что, если у кого-то есть представление о том, что я делаю неправильно, дайте мне знать. Спасибо С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 04 октября 2019

попробуйте дать число

if($request->isMethod('get')){
        $coupons=Coupon::with('store')->paginate(10);

        return view('coupons',['coupons'=>$coupons]);

    }else{
        abort(403, 'Unauthorized action.');
    }
...