Доступ ко всей информации таблиц из сводной таблицы Laravel - PullRequest
0 голосов
/ 05 сентября 2018

Я надеюсь, что кто-нибудь поможет с этим, с уважением, у меня есть сводная таблица, где есть эти поля, какие только идентификаторы других таблиц Компании, филиалы, отделы, рабочие места, сотрудники

'id',
'company_id',
'branch_id',
'department_id',
'job_id',
'employee_id'

Я хочу получить доступ ко всей информации, когда я обращаюсь только к одному реестру, который я хочу использовать withPivot (), но я не понимаю, что нужно делать, у меня это уже есть в модели Company.php

public function getAllInformation()
{
    return $this->belongsToMany(Company::class, 'companies_branches_departments_jobs_employes', 'id', 'company_id');
}

И в контроллере у меня это

public function index()
{
    $items = Company::with('getAllInformation')->limit(1)->get();
    $information =
        [
            'items' => $items,
            'total' => count($items)
        ];
    return $information;
}

Это дает мне информацию о первой компании с информацией в функции getAllInformation, но я хочу, чтобы все все

До того, как у меня появится это в Модельных Компаниях, Отделениях, Отделах, Работах, php.

    public function company()
{
    return $this->hasOne(Company::class, 'id', 'company_id');
}

public function branch()
{
    return $this->hasOne(Branch::class, 'id', 'branch_id');
}

public function department()
{
    return $this->hasOne(Department::class, 'id', 'department_id');
}

public function job()
{
    return $this->hasOne(Job::class, 'id', 'job_id');
}

public function employee()
{
    return $this->hasOne(Employe::class, 'id', 'employee_id');
}

А в контроллере это

    public function getAllInformation()
{
    $items = CompaniesBranchesDepartmentsJobsEmployes::with('company', 'branch', 'department', 'job', 'employee')->limit(10)->get();
    $inventory =
        [
            'items' => $items,
            'total' => count($items)
        ];
    return $inventory;
}

Это дает мне Json всей информации, и это нормально, но я хочу использовать сводные функции, потому что это правильный путь для работы с сводной таблицей, мне нужно создать массив для всей информации в элементах var $ или что, любая помощь спасибо: D

1 Ответ

0 голосов
/ 05 сентября 2018

Вы можете определить $ с массивом в вашей модели.

Пример

class Company extends Model {
    $with = [
      'company',
      'branch',
       ...etc
    ];
}

А чем просто позвонить

Company:limit(1)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...