Требуется laravel модельное отношение для двухуровневой обратной выборки данных - PullRequest
0 голосов
/ 04 августа 2020

У меня есть три таблицы:

Пользователь: id (pk), name

Продавец: id (pk), user_id (fk на user.id)

Баланс : id, seller_id (fk on seller.id)

Я возвращаю детали баланса каждого продавца в datatable, нажимая API BalanceController@index, который использует модель баланса для получения данных таблицы баланса.

Как мне узнать имя пользователя в этом случае? Существуют ли какие-либо отношения для двух уровней позади ownTo? или любым другим способом?

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Взаимосвязь в модели продавца

класс Продавец расширяет модель {

public function user()
{
    return $this->belongsTo('App\User','user_id');
}

}

Взаимосвязь в модели «Баланс» класс «Баланс» расширяет модель {

public function seller()
{
    return $this->belongsTo('App\Seller','seller_id');
}

}

для получения имени пользователя

$ user_name = $ balance-> seller-> user-> name;

0 голосов
/ 04 августа 2020

Думаю, вы ищете отношения hasThrough.

Связь has-one-through связывает модели через одно промежуточное отношение.

https://laravel.com/docs/7.x/eloquent-relationships#has сквозное

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...