علیرضا
3 سال پیش توسط علیرضا مطرح شد
6 پاسخ

ارر مربوط به request در کنترلر لاراول

درود فراوان🌹 بنده می خواهم که جدول مربوط به Order به شکل زیر گر شود اما برای $request به مشکل می خوره و بنده نمی تونم که آدرس و شماره و نام گیرنده ثبت کنم این هم متن ارور و کد مربوطه:

 public function checkout()
    {
        $order = $this->makeOrder();
        $order->products()->attach($this->products());
        return $order;
    }

    public function makeOrder(Request $request)
    {
        return auth()->user()->orders()->create([
            'order_id' => Str::random(16),
            'refid' => null,
            'gateway' => null,
            'price' => $this->basket->total(),
            'status' => 1,
            'phone'=>$request->phone,
            'receiver'=>$request->receiver,
            'address'=>$request->address
        ]);

متن ارور

ArgumentCountError
Too few arguments to function App\support\payment\Transaction::makeOrder(), 0 passed in C:\Users\AsemaN\Desktop\AryaBMS\app\support\payment\Transaction.php on line 26 and exactly 1 expected

این کار رو هم می کنم این ارور میده

  public function checkout(Request $request)
    {
        $order = $this->makeOrder($request);
        $order->products()->attach($this->products());
        return $order;
    }

    public function makeOrder(Request $request)
    {
        return auth()->user()->orders()->create([
            'order_id' => Str::random(16),
            'refid' => null,
            'gateway' => null,
            'price' => $this->basket->total(),
            'status' => 1,
            'phone'=>$request->phone,
            'receiver'=>$request->receiver,
            'address'=>$request->address
        ]);

ارور

Too few arguments to function App\support\payment\Transaction::checkout(), 0 passed in C:\Users\AsemaN\Desktop\AryaBMS\app\Http\Controllers\BasketController.php on line 62 and exactly 1 expected

ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 3 سال پیش مطرح شد
0

@alirezamoghadam3180
سلام. وقت بخیر.
در کنترلر BasketController.php خط 62، متد App\support\payment\Transaction::checkout() رو استفاده کردید که ورودی نیاز نداره اما شما هیچی بهش ندادید.


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
0

داخل web.php کدوم متد رو از این کلاس انتخاب کردی مطمنی checkout() رو انتخاب کردی ؟


علیرضا
تخصص : در حال یادگیری لاراول
@alirezamoghadam3180 3 سال پیش مطرح شد
0

@ajdar9667 @mohsenbostan سپاس بنده وقتی این کار می کنم ذخیره سازی در دیتابیس انجام میشه اما ادرس و تلفن و گیرنده خالی ذخیره میشه
واقعا نمی دونم چ کنم!

  public function makeOrder(Request $request)
    {
        return auth()->user()->orders()->create([
            'order_id' => Str::random(16),
            'refid' => null,
            'gateway' => null,
            'price' => $this->basket->total(),
            'status' => 1,
            'phone'=>'',
            'receiver'=>'',
            'address'=>''
        ]);
    }

امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش آپدیت شد
0

@alirezamoghadam3180 خب دوست عزیز خودت داخل کد این مقادیر رو خالی گذاشتی !

                'phone'=>'',
            'receiver'=>'',
            'address'=>''

علیرضا
تخصص : در حال یادگیری لاراول
@alirezamoghadam3180 3 سال پیش مطرح شد
0

@ajdar9667 مهندس عزیز به نظرتون چه کار کنم تا این سه تا فیلد هم پر بشه؟🙏


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
0

خب مقادیرس رو بهش پاس بدین اگه از ریکویست مقادیر رو میگیری بنویس :

'phone'=>$request['phone'],
    'address'=>$request['adress']

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

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