У меня сейчас 3 класса Elements
, PageElements
и Page
. Модели ниже:
Pages.php
class Pages extends Model
{
public function pageElement() {
return $this->hasMany(PageElements::class, 'page_id');
}
}
PageElements.php
class PageElements extends Model
{
public function element() {
return $this->hasOne(Elements::class, 'id', 'element_id');
}
}
Elements.php
class Elements extends Model
{
//
}
Все данные, которые мне нужны, взяты из Elements
, я могу выбросить данные PageElements
, как я могу преобразовать это для использования отношения hasManyThrough
?
Я хотел бы получить прямой доступ к Elements
через $page->elements
, в настоящее время я должен сделать $page->elements->element
.
Правильно ли я считаю, что это должны быть отношения hasManyThrough
?
Моя текущая попытка ниже
public function elements() {
return $this->hasManyThrough(Elements::class, PageElements::class, 'element_id', 'id', 'id', 'page_id');
}
Хотя всегда возвращает пустой набор данных