محسن مهری
4 سال پیش توسط محسن مهری مطرح شد
3 پاسخ

فراخوانی تابع paginate روی یک آرایه

سلام به دلایلی مجبورم دو آرایه رو با هم مرج کنم و بعد اون رو نمایش بدم ، از طرفی این داده ها زیاد هستند و حتما باید paginage بشه، اما فقط وقتی مستقیما داده ها رو از روی یک مدل میخونم به من اجازه این کارو میده
روشی هست که بشه paginate رو روی این ارایه فراخوانی کرد ؟

 $notes1=auth()->user()->notes()->paginate(19);
        $users=Puser::where('id',auth()->user()->id)->pluck('user_id');
        $notes=Note::where('user_id',$users)->paginate(11);
        $all=$notes1->merge($notes)->sortByDesc('created_at');
???
        $notes=$all::paginate(12);
?????

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

خوب بازم کدتون اشتباه هست
اگر با یه جدول کار دارید کدهاتون رو طوری بزنید که به شکل واحد اطلاعات برگرده

 Note::where('id',[1,2,3,4,5,6])

بحث دو جدول متفاوت جداست که اونجا داستان کلا متفاوت میشه باید از کلاس paginate برای صفحه بندی استفاده بشه دیگه متد paginate کارایی نداره


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
2

سلام چیزی که در بالا میبینم اشتباه از پایه !
اول اینکه نباید اطلاعات رو قبل از merge به شکل paginate برگردونید و بعد بازم paginate کنید و دوم اینکه اصلا کدی که در بالا فرستدید به شکل عجیبی درست نیست !
اما به هر حال پروژه شماست خلاصه کدتون به شکل زیر هم اوکی میشه

$users = Puser::where('id',auth()->user()->id)->pluck('user_id');
$notes = Note::where('user_id',$users)->orWhere('user_id', auth()->user()->id)->latest()->paginate(20);

محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
0

@hesammousavi
خیلی ممنون آقای موسوی و تشکر فراوان از شما - خط کد هام رو اصلاح کردم.
اما هنوز جواب سوال اصلیم رو نگرفتم حالا فرض کنیم به هر دلیلی من مجبورم از جدول note ام مثلا دو ارایه بگیرم و بعد اونا رو مرج کنم
میتونم این ارایه مرج شده رو paginate کنم یا نه ؟

$notes1 = Note::where('id',[1,2,3]);
$notes2=Note::where('id',[4,5,6]);
$notes=$notes1->merge($notes2)->sortByDesc('created_at');
????
$notes->paginate(12);//?!
*/how $notes paginate ?*/
????

حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
1

خوب بازم کدتون اشتباه هست
اگر با یه جدول کار دارید کدهاتون رو طوری بزنید که به شکل واحد اطلاعات برگرده

 Note::where('id',[1,2,3,4,5,6])

بحث دو جدول متفاوت جداست که اونجا داستان کلا متفاوت میشه باید از کلاس paginate برای صفحه بندی استفاده بشه دیگه متد paginate کارایی نداره


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

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