Skip to content

Instantly share code, notes, and snippets.

@gundamew
Created January 19, 2021 10:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gundamew/db626d67148e9dd69993a934e311cbb4 to your computer and use it in GitHub Desktop.
Save gundamew/db626d67148e9dd69993a934e311cbb4 to your computer and use it in GitHub Desktop.
A many-to-many polymorphic relations example of Laravel.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Media extends Model {}
<?php
namespace App;
use App\PostHasMedia;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function media()
{
return $this->morphToMany(
Media::class,
'model',
PostHasMedia::class,
'post_id',
'media_id'
);
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Relations\MorphPivot;
// Ref: https://github.com/laravel/framework/issues/21065#issuecomment-327836778
class PostHasMedia extends MorphPivot {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment