Ali Ghaleyan
5 سال پیش توسط Ali Ghaleyan مطرح شد
3 پاسخ

pagination in laravel collection

سلام و درود
من این مدل رو دارم

class Attribute extends Model
{
    public function scopeFilter($query)
    {
        // filter queries
        return $query->paginate($query);
    }
}

و در کنترلر این اعمال انجام شده:

$attributes = Attribute::filter();
return new AttributeCollection($attributes);

و در AttributeCollection :

public function toArray($request)
    {
        return [
            "data" => $this->collection->map(function ($item) {
                return [
                    "id" => $item->id,
                    "title" => $item->title,
                ];
            })
        ];
    }

اما متاسفانه در response که برمیگردونه pagination نیست و فقط data برمیگردونه
response:

{
"data": [
            {
                "id": id,
                "title": "title"
            },
            {
                "id": id,
                "title": "title"
            }
        ]
}

ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

سلام کی بهتون گفته اینطوری کد بزنید ؟

   return $query->paginate($query);

Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

@hesammousavi
اشتباه شده در متن سوال
شما اون $query رو عدد 5 در نظر بگیرید یا هر عدد دیگه
چرا صفحه بندی ها کار نمیکنه


TEFO
تخصص : لاراول
@tefo.ha27 5 سال پیش مطرح شد
0

سوال اینه چرا مستقیم روی مدل paginate نمیزنین؟
اگه متد toArray برگشت داده میشه جای تعجب نداره که چیزی جز ایدی و تایتل داشته باشه چون خودتون نوشتین


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام