Paradox
4 سال پیش توسط Paradox مطرح شد
3 پاسخ

ارتباط بین دو جدول

سلام وقت بخیر
من یک جدول به نام cart دارم
و یک جدول به نام order
اطلاعات جداول تو دیتابیس ذخیره شد و نمایش میده حالا میخام id جدول order به order_id جدول cart ارتباط داشته باشه که براش کلید خارجی تعریف کردم ولی نمیدونم تو کنترلر چطوری این رابطه رو برقرار کنم فیلد order_id در دیتابیس ذخیره نمیشه لطفا راهنمایی کنید.


ثبت پرسش جدید
علی قربانی
تخصص : برنامه نویس وب
@alighorbani1381 4 سال پیش مطرح شد
1

سلام به شما دوست عزیز @wxyz
ببین اولین کاری که باید بکنی اینه که بیای این رو روی کاغذ بکشی و نوع رابطش رو مشخص کنی و طبق چیزی که خودت گفتی و من فهمیدم این یک رابطه یک به یک هستش (هر order مربوط به یک cart میشه)

قدم بعدی اینه که بیای و این ها رو توی مدل هات به هم مرتبط کنی (اصطلاحا Relation های بینشون رو برقرار کنی)

خب اول بریم سراغ کلاس Order: توی این کلاس (مدل) باید بگی که هر Order مربوط به یک Cart هستش که کدش میشه👇🏻👇🏻

class Order extends Model
{
    /**
     * Get the Cart record associated with the Order.
     */
    public function cart()
    {
        return $this->belongsTo(Cart::class);
    }
}

حالا باید بیای و توی مدل Cart هم بگی که هر Cart یه دونه Order داره

class Cart extends Model
{
    /**
     * Get the Order that owns the Cart.
     */
    public function order()
    {
        return $this->hasOne(Order::class);
    }

}

البته شایدم بر عکس گفتم😂 ولی به هر حال راه حل اینه :)

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


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

@alighorbani1381
ممنون از پاسختون
رابطه بین مدل ها رو پیاده سازی کردم الان تو قسمت کنترلر مشکل دارم نمیدونم چطوری order_id رو ثبت کنم تو دیتابیس


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

خب سلام مجدد @wxyz اول باید بگم که من دسترسی و دید کلی نسبت به پروژه ای که داری میزنی و این که دیتابیست رو چطوری پیاده سازی کردی ندارم!! ولی اصولا این جور مواقع که می خوای یک رابطه یک به یک رو پیاده سازی کنی،

باید از یه کدوم شروع کنی خب حالا این یعنی چی ؟!

ببین الان تو می خوای که توی جدول Cart بتونی ID سفارشت رو ببری خب باید بیای براش یه دکمه ای چیزی تو صفحه بزاری مثلا با عنوان (افزودن به کارت یا چه می دونم پرداخت)
و وقتی طرف روی سفارشش کلیک کرد بیای یه رکورد توی جدول Cart اضافه بکنی و از اطلاعات Order ای که با استفاده از اون دکمه سمت سرور در اختیار داریش بیای و توی فیلد order_id قرار بدی به همین سادگی :)
سواله دیگه ای داشتی هم بپرس ولی همیشه در مورد دیتابیس یکم تحقیق کن تا بتونی به بهترین و بهینه ترین حالت ممکن پیاده سازیش کنی.

موفق باشی💙


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

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