محمدرضا فلکی
3 سال پیش توسط محمدرضا فلکی مطرح شد
7 پاسخ

برگردوندن اطلاعات یک مدل از طریق یک مدل دیگر

سلام به همگی
من بین جدول مشتری ها و جدول شماره مبایل ها رابطه یک به چند درست کردم،
ولی نمیدونم چجوری از طریق مدل مشتری ،شماره مبایل رو بگیرم و توی یه جدول نشون بدم،
ممنون میشم کمکم کنید.قسمت کد

قسمت نمایش

قسمت کنترلر


ثبت پرسش جدید
امیر حسین شکوهی
تخصص : web developer
@amirshokoohi 3 سال پیش مطرح شد
0

سلام
متدی که تو مدل مشتری برای ارتباطشون ایجاد کردید رو صدا بزنید و بعد نام فیلد شماره موبایل
مثلا اگر تو مدل costumer رابطه ای مثل زیر ایجاد کردید

public function mobiles()
    {
        return $this->hasMany(Mobile::class);
    }

به صورت زیر به شماره موبایل دسترسی خواهید داشت

 $customer->mobiles->mobile

محمدرضا فلکی
تخصص : Learning Laravel
@m.reza6920 3 سال پیش آپدیت شد
0

@amirshokoohi ممنون ولی این Property [mobilenumber] does not exist on this collection instance ارور رو داد

کد

دیتابیس

مدل


امیر حسین شکوهی
تخصص : web developer
@amirshokoohi 3 سال پیش آپدیت شد
0

@m.reza6920
dd بگیرید ببینید چی برمیگردونه

dd($customers[0]->mobileNumbers)

داخل کنترلر


محمدرضا فلکی
تخصص : Learning Laravel
@m.reza6920 3 سال پیش مطرح شد
0

@amirshokoohi ظاهرا که خالیه
جواب


امیر حسین شکوهی
تخصص : web developer
@amirshokoohi 3 سال پیش مطرح شد
0

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

public function show()
    {
        $customers = Customer::with('mobileNumbers')->get();
        dd($customers);
    }

امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 3 سال پیش مطرح شد
0

@amirshokoohi
سلام.
شما به صورت مستقیم نمیتونید از یک رابطه hasMany یک property رو بگیرید چون شامل چند ردیف هست و باید از طریق حلقه ها به هر ردیف دسترسی پیدا کنید و سپس property مورد نظر رو صدا بزنید. اگر رابطه از نوع hasOne یا belongsTo بود فرمایش شما قابل اجرا بود.


امیر حسین شکوهی
تخصص : web developer
@amirshokoohi 3 سال پیش مطرح شد
1

@amin.webdesign
کاملا درسته ، متاسفانه حواسم نبود اصلا


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

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