سلام
من سه تا جدول دارم به اسم های company
, car_kind
, car_group
در دو جدول car_kind
, car_group
یک ستون به نام company_code
داریم که با جدول company
در ارتباط هستند. در کنارش در جدول car_kind
ستون car_group_code
رو داریم که اینبار با جدول car_group
در ارتباط هستش.
الان بنده میخوام وقتی یک رکورد از جدول car_kind
رو کال کردم هم زمان هرآنچه که در جدول car_group
با جداول company
, car_kind
در ارتباط هست رو دریافت کنم.
ممنون میشم راهنمایی کنید.
Controller
....
$result = Company::with([
'cars' => function($q){
},
'regions',
'groups'
])->find($fields['company_code']);
return $result ;
....
CarKind
...
public function carGroup()
{
return $this->hasOne(CarGroup::class, 'code', 'group');
}
...
با متد hasOneThrough
کد :
public function carGroup()
{
return $this->hasOneThrough( Company::class,CarGroup::class,'code', 'code' , 'car_group_code', 'company_code');
}
اما شما نام گذاری هارو درست انجام بدین. بنده بنا به دلایلی نتونستم از اسم های استاندارد استفاده کنم
سلام خسته نباشید
بله دقیقا این ساختار که داره
https://laravel.com/docs/9.x/eloquent-relationships#has-one-through-key-conventions
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟