У меня есть модель TyreSize, и она может быть связана с самой собой. Код
class TyreSize extends Model {
public function linked() {
return $this->belongsToMany('App\Models\TyreSize', 'related_tyre_sizes', 'from_id', 'to_id');
}
}
Работает нормально. У меня также есть обратное отношение к себе
public function referenced() {
return $this->belongsToMany('App\Models\TyreSize', 'related_tyre_sizes', 'to_id', 'from_id');
}
Это тоже отлично работает.
У меня есть способ, чтобы показать оба отношения как это
public function related() {
return $this->linked()->get()->merge($this->referenced()->get());
}
Проблема начинается, когда Я хочу видеть оба отношения в одном поле прикрепления в Laravel Nova. Если я выберу один, то все в порядке, но я не вижу обратного.
Суть не в том, чтобы прикрепить оба, а в том, чтобы оба были прикреплены к полевой панели. Есть ли правильный способ сделать это?
Я думаю, что есть два возможных решения, но не знаю, как заставить их работать:
Переопределить рендеринг вида logi c и объединить там
Сделать хук сохранения для автоматического создания обратной связи, но он создает лишние строки БД