У меня есть реляционная база данных, где у меня есть следующие таблицы: users, business_informations, todays_pricing, daily_margins
.И моя структура таблицы:
user:
id
business_informations:
- id
- user_id
- company_name
todays_pricing:
- id
- user_id
daily_margins:
- id
- todays_pricing_id
И отношениямежду ними есть:
App \ User.php
public function business_information()
{
return $this->hasOne(BusinessInformation::class);
}
public function todays_pricing()
{
return $this->hasMany(TodaysPricing::class);
}
App \ TodaysPricing.php
public function user()
{
return $this->belongsTo(User::class);
}
public function daily_margin()
{
return $this->hasOne(DailyMargin::class);
}
App \ DailyMargin.php
public function todays_pricing()
{
return $this->belongsTo(TodaysPricing::class);
}
У меня нет проблем, я получаю все данные по мере необходимости.Но у меня есть сценарий, когда мне нужно было получить название компании от BusinessInformation.php
до DailyMargin.php
.Что я могу сделать следующим образом,
$dailyMarginWithCompanyName = DailyMargin::with('todays_pricing.user.business_information')->get();
Но он загружает все данные таблиц todays_pricing + user + business_information.
Я хочу, чтобы напрямую получить company_name без загрузки каких-либоиз этих промежуточных данных таблицы.Есть ли способ получить данные с помощью One Through / Polymorphic Relationships или любым другим реляционным способом.Или вы можете предложить лучший способ настроить мою таблицу для получения данных.