سلام ، من یه تیکه کدی نوشتم برای سرچ کردن بین کامنت ها ، و من تو view خودم به صورت Tab وار نشونشون میدم . ولی تو سرچ دو تا where پشت سر هم میشن و خراب میکنه دومی رو ، کد رو بخونید متوجه میشید.
$comments = Comment::WhereHas('user', function ($query) use ($keyword) { $query->where('name', 'LIKE', "%{$keyword}%"); })->orWhere([ ['body', 'LIKE', '%' . $keyword . '%'], ]); $comments2 = $comments; return view('admin.comments.all_comments', [ 'approved_comments' => $comments->where('approved', 1)->paginate(10, ['*'], 'approved'), 'unapproved_comments' => $comments2->where('approved', 0)->paginate(10, ['*'], 'unapproved') ]);
حتی یه متغیر به اسم $comments2 هم ساختم و کوئری اول رو درش ذخیره کردم ولی فرقی نکرد ، به نظرتون باید چی کار کنم کوئری اول رو برای هر جفتشون مجبور نباشم تکرار کنم ؟ خیلی ممنون
سلام
به نظرم بهترین راهکار در چنین شرایطی استفاده از clone
هست:
$query = Comment::WhereHas('user', function ($q) use ($keyword) { $q->where('name', 'LIKE', "%{$keyword}%"); })->orWhere([ ['body', 'LIKE', '%' . $keyword . '%'], ]); return view('admin.comments.all_comments', [ 'approved_comments' => (clone $query)->where('approved', 1)->paginate(10, ['*'], 'approved'), 'unapproved_comments' => (clone $query)->where('approved', 0)->paginate(10, ['*'], 'unapproved') ]);
@mhyeganeh به به ، از کی بود میخواستم ببینیم clone به چه دردی میخوره بلاخره یافت شد , مرسی از راه حلتون 😂
سلامت باشید.
به همین خاطره که میگن بهترین روش یادگیری این هست که تو دل کار با مسئله اش مواجه بشی 😉
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟