Как в laravel создать вложенное отношение, которое выберет сущность по двум полям?
Всем привет.
У меня на сайте есть следующие сущности:
Page — Страница, например "контакты"
id, name
К странице подключается Block, через отношение belongsToMany('App\Block')
Block - Блок, например "seo"
id, name
К блоку подключаются поля, через hasMany('\App\Field');
Field - Поле, например "keywords" и "description",
id, block_id, name
Один блок может подключатся к разным страницам и при этом в него должны подгружаться разные данные.
Для этого я хочу сделать еще одну сущность Data, в которой будут хранится данные полей блоков:
field_id, page_id, value
Выбрать страницу я пытаюсь примерно следующим запросом:
$data = Page::with('blocks.fields')->find(42);
Но при этом я не понимаю как создать отношение для подгрузки данных.
Что-бы их выбрать нужно поставить два условия: id поля и id страницы
Подскажите, какое отношение можно применить, что бы создать такую выборку?
Спасибо!