Laravel Eloquent связь нескольких таблиц

Помогите победить отношения в ларавель.

Есть 4 таблицы.

  1. Оборудование
  2. Адреса
  3. Связь 1 и 2
  4. Заявки на ремонт 1

Связи все понятны. 1 и 2 - многие ко многим. 1 и 4 - один ко многим. Нужно получить заявки на ремонт по адресам, отношение - ко многим через. Как релизовать - не понимаю.

Модель 1:

    class Terminal extends Model
{
    public $primaryKey = 'Terminal';

    // Чтобы получить где находится оборудование
    public function place()
    {
        return $this->belongsToMany(Place::class, 'TerminalPlaces', 'Terminal', 'Place_Id');
    }

    //Чтобы получить заявки на ремонт оборудования
    public function appeal()
    {
        return $this->hasMany(Appeal::class,'Terminal')->whereRepaired(0);
    }
}

Модель 2:

class Place extends Model
{
    public $primaryKey = 'Place_Id';

    //Чтобы узнать все оборудование, которое находится по этому адресу
    public function terminal()
    {
        return $this->belongsToMany(Terminal::class, 'TerminalPlaces', 'Place_Id', 'Terminal')->withPivot('Terminal_Order');
    }
}

Как сделать на join-ах - ваще нет проблем, а на eloquent-е - не пойму куда запихать связь ко многим через, чтоб из контроллера можно было обращаться

public function show($id)
    {
        return = Place::find($id)->appeal()->get();
    }

p.s. Еще меленький вопрос, когда делаю запрос Place::find($id)->terminal()->get(); то получаю результат с объектом pivot в котором есть определенные поля, как их перенести в основной объект? чтобы вместо

{
        "Terminal": 100,
        "TerminalType_Id": "1",
        "Board": "Asus",
        "pivot": {
            "Place_Id": "1",
            "Terminal": "100",
            "Terminal_X": "1",
            "Terminal_Y": "1",
            "Terminal_Angle": "0",
        }
    },

было

{
        "Terminal": 100,
        "TerminalType_Id": "1",
        "Board": "Asus",
        "Place_Id": "1",
        "Terminal_X": "1",
        "Terminal_Y": "1",
        "Terminal_Angle": "0",
},

Ответы (0 шт):