راکت
حل شده

پیشنهاد راهکار برای مقدار دهی به یک متغیر

8 پاسخ

سلام دوستان در دوقطعه کد زیر متد اول یه سری فیلتر اعمال میکنه و نتایج رو برمیگردونه به یک ویو و متد دوم برای یک دکمه هست که
تو همون ویو قبلی که نتایج رو داد هست و میخوام با استفاده از یک پکیج خروجی اکسل بگیرم !

حالا مشکل اینجاست من چطور میتونم این متغیر رو مقدار دهی کنم که دقیقا همین اخرین فیلتری که تو متد قبلی اعمال شده رو نتایجش رو بگیره و بفرسته برای پکیج ممنون

 public function result(Request $request)
    {
        $customers = Order::whereDate('created_at','>=', date('Y-m-d',$request->startDateT))
            ->whereDate('created_at','<=', date('Y-m-d',$request->endDateT))
            ->admins($request->code)
            ->size($request->size)
            ->customers($request->kindBuy)
            ->kind($request->kind)
            ->latest()->get();

        return view('panel.report.result',compact('customers'));
    }
    public function export()
    {
        $customers = ''; // اطلاعات رو  میخوام از متد قبلی بیاد اینجا
        if ($customers->count() != 0){
            $time=carbon::now();
            return Excel::download(new OrderExport($customers), "{$time}.customers.xlsx");
        }
        alert()->warning('اطلاعاتی جهت گزارش یافت نشده است', 'بدون اطلاعات');
        return back();
    }
jaber
jaber
@jabersabzali
ثبت پرسش جدید

پاسخ‌ها

8
mkt
mkt
@mkt
بهترین پاسخ

اگه امکان تغییر اطلاعات در فرم وجود نداره از سشن استفاده کن

mkt
mkt
@mkt

سلام .
برای گرفتن خروجی به صورت اکسل نمیشه اطلاعات فرم را دوباره بفرستی به سمت تابع export
یا

خوب اطلاعات Request را در سشن ذخیره کن بعد تو تابع export ازش استفاده کن.
سوال کمی گنگه

jaber
jaber
@jabersabzali

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

میشه دوباره بفرستم اما دوباره کاری میشه فک کنم همین سشن خوب باشه

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

jaber
jaber
@jabersabzali

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


  public function result(Request $request)
    {
        $customers = Order::whereDate('created_at','>=', date('Y-m-d',$request->startDateT))
            ->whereDate('created_at','<=', date('Y-m-d',$request->endDateT))
            ->admins($request->code)
            ->size($request->size)
            ->customers($request->kindBuy)
            ->kind($request->kind)
            ->latest()->get();
        Session::set('customers', $customers);
        return view('panel.report.result',compact('customers'));
    }
    public function export()
    {
        $customers = Session::get('customers');
        dd($customers);
        if ($customers->count() != 0){
            $time=carbon::now();
            return Excel::download(new OrderExport($customers), "{$time}.customers.xlsx");
        }
        alert()->warning('اطلاعاتی جهت گزارش یافت نشده است', 'بدون اطلاعات');
        return back();
    }

و این ارور

"Call to undefined method Illuminate\Session\Store::set()"
jaber
jaber
@jabersabzali

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

@kazemimorteza68
ممنون اوکی شد ! فقط خاستم بدونم این کار درست هست درکل یا نه ؟؟‌چون من تازه کار هستم :))

mkt
mkt
@mkt

پیشنهاد من اینه اطلاعات Request را به صورت کلی ذخیره نکن فقط اون چند پارامتری که احتیاج داری مثلا:

$request->code
$request->size
mkt
mkt
@mkt

اگه بعد از اینکه اطلاعات را تو ویو نشون دادی و برای اکسپورت گرفتن به صورت اکسل اگه اطلاعات فرم تغییر نمیکنه ظاهرا اوکی هست.
چون اطلاعات مهمی در سشن قرار نمیگیره از لحاظ امنیتی مشکلی نداره.

jaber
jaber
@jabersabzali

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

@kazemimorteza68 ممنون از راهنماییت دوست عزیز

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

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