Paradox
4 سال پیش توسط 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
@mohsenbostan 4 سال پیش مطرح شد
0

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


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

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

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

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


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

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


Paradox
تخصص : در حال یادگیری
@paradox 4 سال پیش مطرح شد
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', 'موفق');

    }

مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 4 سال پیش آپدیت شد
0

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

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

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

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


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

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


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

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

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


Paradox
تخصص : در حال یادگیری
@paradox 4 سال پیش آپدیت شد
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.

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

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

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

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


Paradox
تخصص : در حال یادگیری
@paradox 4 سال پیش آپدیت شد
0

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


Paradox
تخصص : در حال یادگیری
@paradox 4 سال پیش آپدیت شد
0

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


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

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