وقتی مدلی داریم که دارای فیلد های foreign می باشد . هنگام خروجی گرفتن از مدل نمی توان اطلاعات foreign را در خروجی قابل مشاهده کرد
مثال زیر را بررسی فرمائید:
$Providers = Provider::all();
return $Providers;
خروجی:
[
{
"id":1,
"name":"\u0633\u06cc\u062f \u0627\u062d\u0645\u062f ",
"specialist_id":222
}
]
در این حالت اطلاعات فیلد های foreign نمایش داده نمی شود مگر به این صورت خروجی بگیریم:
return $Providers->Specialist;
{
"id":1,
"TerminologyId":"thritaEHR.specialty",
"Code":101103,
"Value":"\u06a9\u0627\u0631\u062f\u0627\u0646 \u0627\u062a\u0627\u0642 \u0639\u0645\u0644",
"created_at":null,
"updated_at":null,
"status":0
}
توجه فرمائید در مدل فوق رویداد ()Specialist ارتباط با مدل Specialist را بر قرار می کند، که در زیر به آن اشاره شده است.
public function Specialist()
{
return $this->belongsTo(Specialist::class,'id');
}
برای اینکه تمامی ارتباطات (Relationship) مدل، در خروجی نمایش داده شوند باید از with استفاده کنیم:
$Providers = Provider::all();
$Providers = $Providers->with('Specialist');
return $Providers;
[
{
"id":1,
"name":"\u0633\u06cc\u062f \u0627\u062d\u0645\u062f ",
"specialist_id":222,
"specialist":
{
"id":1,
"TerminologyId":"thritaEHR.specialty",
"Code":101103,"Value":"\u06a9\u0627\u0631\u062f\u0627\u0646 \u0627\u062a\u0627\u0642 \u0639\u0645\u0644",
"created_at":null,
"updated_at":null,
"status":0
}
}
]