🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Anonymous Developer
روابط در remember cache
جامعه لاراول ایجاد شده در ۳۰ خرداد ۱۴۰۱

استاد ببخشید من سوال پشت سوال میپرسم.

من الان با توجه به توضیحات ویدیو cache نوشتم، اما ارور Serialization of 'PDO' is not allowed میگیرم. میشه کمکم کنید؟

$cachKeyName = 'cycles_for_cycle_table' ;
$data = Cache::remember($cachKeyName , now()->addSeconds(10) , function (){
  sleep(3);
  return Cycle::query()->latest()
      ->withCount('factors')
      ->withSum('factors', 'amount');
});
return $data;

سلام Anonymous Developer. وقت به خیر

این مشکل به این دلیل هست که شما دارید Connection کش می‌کنید درصورتی که باید resultدیتابیس کش کنید. برای حل این مشکل در انتهای Query از متد get() استفاده کنید.


$cachKeyName = 'cycles_for_cycle_table' ;
$data = Cache::remember($cachKeyName , now()->addSeconds(10) , function (){
  sleep(3);
  return Cycle::query()->latest()
      ->withCount('factors')
      ->withSum('factors', 'amount')
      ->get();
});
return $data;

موفق باشید

بهترین پاسخ
محمد حسن عاطفت ۰۱ تیر ۱۴۰۱، ۰۵:۲۸