Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 6/7/8/9/10 » Выборка из нескольких таблиц » 25.02.2022 07:04:42

reiss
Ответов: 1

Приветствую всех. С ларавелем недавно, потому особо не пинайте.
Версия лары 8я.
Обьясните пожалуйста выборку из нескольких таблиц с использование моделей eloquent
Пусть первая таблица

id
otdel_id
inventory_num
и тут еще много полей

Вторая таблица представляет собой справочник отделений то есть

id
name

естественно id = otdel_id
Теперь задача - мне надо найти запись по инвентарному номеру inventory_num и вывести все поля таблицы 1 в табличку. Но вместо otdel_id должен стоять его нейм. Метод Find мне не подходит, так как ищет по ид. Что я должен сделать в данном случае? А в общем, если куча справочников, а итоговая таблица представляет собой просто набор ИДшников?

На данный момент получается только так

public function findTech(Request $req){
        $inv = $req->inv;
        $ip = $req->ip;
        $listOrg = ListTech::where('inv_num', $inv)->get();
        return view('findtable',['tab'=>$listOrg]);
    }

Как написано в справочнике, сделал такое

public function otdName(){

        return $this->hasOne(Otdel::class,'id','otdel_id');

    }

Но при попытке написать

$listOrg = ListTech::where('inv_num', $inv)->get()->otdName;

оно ругается всякими словами. Как правильно?

Подвал раздела