راکت
Paradox
Paradox
توسط Paradox مطرح شد
11 پاسخ

ذخیره در دیتابیس

سلام چیکار کنم order_id تو دیتابیس ذخیره بشه؟


    #attributes: array:12 [▼
        "id" => 66
        "product_id" => 26
        "order_id" => null
        "user_seller" => 6
        "user_buyer" => 6
        "fee" => "560000.00"
        "quantity" => 1
        "totalprice" => "560000.00"
        "image" => "soghati1594561183.jpg"
        "name" => "دستبند طلا"
        "created_at" => "2020-07-25 09:00:06"
        "updated_at" => "2020-07-25 09:00:06"
      ]```

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

@wxyz
سلام.
خب مقدار رو بهش پاس بده


مهدی عقیقی
مهدی عقیقی
تخصص :برنامه نویس وب
@MehdiAghighi6 سال پیشمطرح شد
0

سلام وقتتون بخیر.
چند تا کار می‌تونید بکنید.
یکیش اینه که با استفاده از relation ها کلا سیوش کنید.

$order->relations()->save($model)

اگر هم order_id مقدار نگرفت و خواستید دستی بدید باز هم مقدار نگرفت، حواستون باشه مقدار order_id رو بزارید توی متغیر $fillable مدلتون یا این که یک متغیر $gaurded درست کنید و مساوی با یک آرایه خالی بگذارید.


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat6 سال پیشمطرح شد
0

به چه شکل داده ها رو ذخیره میکنی؟


Paradox
Paradox
تخصص :در حال یادگیری
@paradox6 سال پیشمطرح شد
0

@ali.bayat

   public function addToCart(Request $request, $id)
    {
        $product = Userproduct::findOrFail($id);
        $cart = new cart();

                $cart->product_id = $product->id;
                $cart->user_seller = $product->user_id;
                $cart->user_buyer = auth()->id();

            if ($product->priceoff != null || $product->priceoff != 0) {
                $cart->fee = $product->priceoff;
                $cart->totalprice = $product->priceoff;
            } else {
                $cart->fee = $product->price;
                $cart->totalprice = $product->price ;
            }
                $cart->image = $product->image;
                $cart->name = $product->name;
                $cart->quantity = $request->quantity;

            $cartp = cart::where('product_id', '=', $product->id)->first();

            if ($cartp === null)
            {
                $cart->save();
                return redirect('/profile/cart')->with('message', 'محصول با موفقیت به سبد خرید اضافه شد');

            }

و

 public function checkout(Request $request, order $order)
    {

           $cart = cart::all();
//         $order = cart::where('order_id', '=', $order->id)->first();
//         $cart = cart::find($order);
           dd($cart);

//         $order = new order();

//         $order->user_seller = 'user_seller';
//         $order->user_buyer = 'user_buyer';
//         $order->totalprice = 'user_buyer';
//         $order->quantity = 'user_buyer';
//         $order->shipmentstat = 0;
//         $order->paymentstat = 0;
//         $order->desc = '';

//         $order->save();
//         return redirect('profile.cart.checkout')->with('message', 'موفق');

    }

مهدی عقیقی
مهدی عقیقی
تخصص :برنامه نویس وب
@MehdiAghighi6 سال پیشمطرح شد
0

@wxyz شما الان دقیقا کجا order_id رو پاس دادید !؟

$order = cart::where('order_id', '=', $order->id)->first();

الان این خط دقیقا $order رو از کجا میاره چون قبلش که تعریف نکردید !!!

اصلا به نظر من منطقیش اینه که شما توی cart نباید فیلدی به اسم order_id داشته باشید بلکه داخل order باید فیلدی داشته باشید به اسم cart_id !!
چون هر سبد خرید متعلق به یک سفارش هستش.
نمیشه که وقتی هنوز order رو نساختید orderid رو بدید به cart.


Paradox
Paradox
تخصص :در حال یادگیری
@paradox6 سال پیشمطرح شد
0

@MehdiAghighi
این پروژه من ننوشتم بهم دادن به عنوان تست گفتن انجام بده
اطلاعات دیتابیس رو هم من نساختم الان فقط میخام order_id خونده بشه و نمیدونم چیکار کنم


مهدی عقیقی
مهدی عقیقی
تخصص :برنامه نویس وب
@MehdiAghighi6 سال پیشمطرح شد
0

@wxyz ببینید شما می‌خواید قبل از این که order رو ساخته باشید، به cart یک order_id بدید که خب این خیلی غیر منطقیه.
شما در مورد رابطه‌ها توی دیتابیس مطالعه بکنید تا نحوه‌ی درست پیاده‌سازی رابطه رو اول متوجه بشید، بعد از اون توی مستندات لاراول بخش relations خیلی کامل توضیح داده که چجوری این رابطه‌ها رو در لاراول استفاده کنید.

به نظرم اینجوری زودتر به نتیجه می‌رسید.


Paradox
Paradox
تخصص :در حال یادگیری
@paradox6 سال پیشمطرح شد
0

@MehdiAghighi
خب برای جدول order چیکار باید انجام بدم در این زمینه میشه راهنمایی کنید

  public function checkout(Request $request,order $order)
    {

        $cart = cart::findOrFail($order);
        $order = new order();

        $order->user_seller = $cart->user_seller;
        $order->user_buyer = $cart->user_buyer;
        $order->totalprice = $cart->totalprice;
        $order->quantity = $cart->quantity;
        $order->shipmentstat = 0;
        $order->paymentstat = 0;
        $order->desc = '';

        $order->save();

        return redirect('/profile/cart')->with('message', 'موفق');

اروری که میده

Property [user_seller] does not exist on this collection instance.

مهدی عقیقی
مهدی عقیقی
تخصص :برنامه نویس وب
@MehdiAghighi6 سال پیشمطرح شد
0

من الان اصلا متوجه کد شما نمی‌شم خیلی زیاد توش اشتباه هست.

$cart = cart::findOrFail($order);

الان این خط دقیقا یعنی چی‌!
فانکشن findOrFail باید بهش یک primary key بدید.


Paradox
Paradox
تخصص :در حال یادگیری
@paradox6 سال پیشمطرح شد
0

@MehdiAghighi
این کد رو من ننوشتم بهم دادن اصلاحش کنم
و کمک در همین زمینه میخام که دقیقا چیکار کنم تو دیتابیس ذخیره بشه


Paradox
Paradox
تخصص :در حال یادگیری
@paradox6 سال پیشمطرح شد
0

این مشکل حل شد تو دیتابیس ذخیره شد و مشکلی که هست تو order_id نمیخونه برای این چیکار باید کرد؟


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

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