راکت
حل شده

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

3 پاسخ

سلام به دلایلی مجبورم دو آرایه رو با هم مرج کنم و بعد اون رو نمایش بدم ، از طرفی این داده ها زیاد هستند و حتما باید 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);
?????
ثبت پرسش جدید

پاسخ‌ها

3
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

بهترین پاسخ

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

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

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

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

سلام چیزی که در بالا میبینم اشتباه از پایه !
اول اینکه نباید اطلاعات رو قبل از 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);
محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

@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 ?*/
????

شاید پاسخ شما همین‌جا باشد

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

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