این جوری به مثال نگاه کنید که:
اما داخل جدول History .. ما فیلد supplier_id رو نداریم... در چنین شرایطی از رابطه hasOneThrough باید استفاده کرد.
و به شکل زیر:
return $this->hasOneThrough(
'App\History',
'App\User',
'supplier_id', // Foreign key on users table...
'user_id', // Foreign key on history table...
'id', // Local key on reviewers table...
'id' // Local key on users table...
);
رابطه "hasOneThrough" مدل ها را از طریق یک رابطه واسطه واحد پیوند می دهد.
users
id - integer
supplier_id - integer
suppliers
id - integer
history
id - integer
user_id - integer
هرچند جدول history فیلد supplier_id نداره، اما رابطه hasOneThrough میتواند دسترسی به history کاربر را در مدل suppliers ارائه دهد.
اطلاعات بیشتر در مستندات لاراول:
https://laravel.com/docs/5.8/eloquent-relationships#has-one-through
جناب بیات عزیز این متن رو خودمم داخل مستندات خوندم ولی درست متوجه نشدم . میشه یکم ملموس تر توضیح بدین ؟ممنون
این جوری به مثال نگاه کنید که:
اما داخل جدول History .. ما فیلد supplier_id رو نداریم... در چنین شرایطی از رابطه hasOneThrough باید استفاده کرد.
و به شکل زیر:
return $this->hasOneThrough(
'App\History',
'App\User',
'supplier_id', // Foreign key on users table...
'user_id', // Foreign key on history table...
'id', // Local key on reviewers table...
'id' // Local key on users table...
);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟