درود دوستان -
میخاستم توی session یک query رو ذخیره کنم اما گویا نمیشه و با خطای زیر مواجه میشم :
Serialization of 'PDO' is not allowed
حالا جایگزین مناسب به نظرم تعریف یک متغیر کاملا global هستش که از اول تا اخر اجرا قابل دسترس باشه،
این متغیر رو توی کلاس مادر Controller ( همین نام) تعریف کردم اما گویا با هر بار فراخوانی کلاس این متغیر تازه ساخته میشه و null هستش
سوالم اینه :
سلام.
یک helper تعریف کن محاسباتو داخل اون انجام بده و مقدارو داخلش برگردون و هرجا خواستی صداش بزن مثل کاری که خود لاراول برای session ها کرده
@mohsen.mehri6101
متغیر همگانی که شما می فرمایید بعد از flow Request پاک میشه و در دسترس نخواهد بود.
برای این کار باید از دیتابیس استفاده کنید و ذخیره سازی انجام بدید.
کوری رو به صورت استرینگ و یا array ذخیره کنید
@wozniak
درود - آقا این کار هم متاسفانه نشدنیه - یعنی شدنیه اما در صورتی که اخر query ام تابع get رو فراخونی کنم، که در این صورت میشه یک ارایه نه یک کوئری
و همچنین حجمش زیاده و کلا هم به درد من نمیخوره
اما این که گفتین به صورت استرینگ ذخیره کن این کار رو چطوری انجام بدم ؟ یعنی ذخیره یک کوئری به صورت یک استرینگ؟؟
@wozniak
درود - خود کوئری رو - چون در واقع توی یک صفحه میخام دکمه (جدیدترین -قدیمی ترین- بیشترین فلان) هر کدوم رو ز، بعد روی اون کوئری یک مرتب سازی انجام بدم
//like this ...
$query->orderBy('id','desc')->paiginate(12);
@mohsen.mehri6101
خب البته این عبارت که شما نوشتین کوری نمیده بهتون. بلکه یک object از query builder شاید بده
شما می تونید با chain کردن متد toSql() کوری رو بگیرید و یا کوری رو خودتون دستی بنویسید و این کوری یک استرینگ سادس و اونو ذخیره کنید.
اشتباه میکنم صحیح فرمایید
@wozniak
درود جناب - بله بسیار متدی خوبی رو معرفی کردین واقعا عالیه - اما خب چطوری دوباره باید از اون استرینگ استفاده کنم؟
منظورم اینه که یک کوئری رو با این تابع تبدیل به یک استرینگ کردم - اما حالا با چه تابعی بتونم اجراش کنم ؟
پوزش میطلبم اگه سوالاتم زیاد شد
@wozniak
@mohammadeng3731
دوستان داستان به اینجا رسید که من نمیتونستم یک object از query builder (به قول شما) ذخیره کنم اما بعد از فراخونی متد get روی کوئریم چون تبدیل به یک آرایه میشه، میتونم توی session/cache ذخیره اش کنم، به هرحال الان مشکلم اینه که بعد از اینکه اطلاعات رو از کش استخراج کردم با فراخونی یک تابع collectرویش اون رو به یک کالکشن تبدیل میکنم اما بعدش هر چی میخام از توابع sort /sorby/sortbydesc استفاده کنم جواب نمیده ؟!!!ارور نمیده ولی درست هم کار نمیکنه؟ چرا واقعا ؟
@mohsen.mehri6101
شما فرمودید که میخواهید sql ذخیره کنید بنده هم روش رو خدمتتون عرض کردم.
اما در کل نمیدونم این کار برای چی هست.
اما ظاهرا راه حل درستی به نظر نمیرسه ( البته بنده کلیات مساله رو نمیدونم )
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟