Наследует BelongsTo.
* имеет те же возможности.
Поле отношения в Laravel типа MorphTo
.
use MoonShine\Laravel\Fields\Relationships\MorphTo;MorphTo::make('Commentable')->types([Article::class => 'title'])
use MoonShine\Laravel\Fields\Relationships\MorphTo;MorphTo::make('Commentable')->types([Article::class => 'title'])
Требуется метод types()
, указывающий доступные классы.
Описание значения метода types
:
- Ключ - class-string<Model>
- Значение - строка или массив.
Если значение передаётся как строка, то она должна указывать на название поля, которое нужно отобразить. Если же передаётся как массив, то первый элемент массива — это название поля для отображения, а второй — имя отношения вместо названия модели.
use MoonShine\Fields\Relationships\MorphTo;MorphTo::make('Imageable')->types([Company::class => ['short_name', 'Organization']])
use MoonShine\Fields\Relationships\MorphTo;MorphTo::make('Imageable')->types([Company::class => ['short_name', 'Organization']])
При использовании поля в сторонних ресурсах обязательно указывайте resource, иначе будет использоваться ресурс из запроса, что может привести к ошибкам.
MorphTo::make('Commentable', resource: PolyCommentResource::class)->types([Post::class => 'name',Project::class => 'name',])
MorphTo::make('Commentable', resource: PolyCommentResource::class)->types([Post::class => 'name',Project::class => 'name',])