Laravel модель красноречивых многократных группировок отношений в одной родительской функции - PullRequest
0 голосов
/ 22 января 2020

Как я могу сгруппировать многие функциональные отношения с одним родителем функции

У меня есть тест модели. php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Test extends Model
{

    protected $table = 'test';
    protected $fillable = [
        'name', 
    ];

    public function log_a()
    {
        return $this->hasMany('App\Models\LogA', 'test_id');
    }

    public function log_b()
    {
        return $this->hasMany('App\Models\LogB', 'test_id');
    }

    public function log_c()
    {
        return $this->hasMany('App\Models\LogC', 'test_id');
    }

}

мы можем позвонить:

$model = Test::find(1);
print_r( $model->log_a ); // see relationship a
print_r( $model->log_b ); // see relationship b
print_r( $model->log_c ); // see relationship c

Как я могу группировать функции так, чтобы результат такой же, как в примере выше?

$model = Test::find(1);
print_r( $model->log() ); // can see all relationship a, b, c
print_r( $model->log()->a ); // see relationship a
print_r( $model->log()->b ); // see relationship b
print_r( $model->log()->c ); // see relationship c

Я использую laravel 6.8.

...