لاراول از ارتباط های چند ریختی! هم پشتیبانی میکنه
مثلا میشه 2 جدول رو به یک جدول ارتباط یک به چند زد
مثلا سه جدول به صورت زیر داریم

staff
id - integer
name - string

orders
id - integer
price - integer

photos
id - integer
path - string
imageable_id - integer
imageable_type - string


به صورت زیر روابط رو تعزیف میکنیم

class Photo extends Eloquent {

public function imageable()
{
return $this->morphTo();
}

}

class Staff extends Eloquent {

public function photos()
{
return $this->morphMany('Photo', 'imageable');
}

}

class Order extends Eloquent {

public function photos()
{
return $this->morphMany('Photo', 'imageable');
}

}


و به صورت زیر استفاده کنیم،
برای گرفتم تصاویر که مثل ارتباط یک به چنده
ولی برای گرفتن صاحب یک تصویر، خروجی یکی از مدل های User یا Staff خواهد بود

// fetching photos
$photos = Staff::find(1)->photos;


// $owner is a User or Staff model
$owner = Photo::find(1)->imageable;