Laravel Eloquent - модель отношений с сводной таблицей - PullRequest
0 голосов
/ 28 апреля 2018

Я не могу найти подходящее решение для этих моделей.

  1. Автобус имеет несколько направлений
  2. В пункте назначения несколько автобусов
  3. Термин имеет один автобус и один пункт назначения

автобус

  • ID
  • номер

Направление

  • имя

Срок

  • дата
  • цена

Если у автобуса был только один пункт назначения, то у меня это есть, и я думаю, что оно должно работать.

АВТОБУСНАЯ МОДЕЛЬ

public function destinations()
{
    return $this->belongsToMany('App\Destination');
}

public function terms()
{
    return $this->hasManyThrough('App\Term', 'App\Destination');
}

МОДЕЛЬ НАЗНАЧЕНИЯ

public function boats()
{
    return $this->belongsToMany('App\Boat');
}

public function terms()
{
  return $this->hasMany('App\Term');
}

СРОЧНАЯ МОДЕЛЬ

public function destination()
{
  return $this->belongsTo('WBZ\Destination');
}

Чего я хочу достичь:

Bus::find(1)->destinations()->get();
Bus::find(1)->terms()->get();

1 Ответ

0 голосов
/ 28 апреля 2018

МОДЕЛЬ АВТОБУСА.

public function destinations()
{
return $this->belongsToMany('App\Destination');
}

public function term()
{
return $this->hasOne('App\Term');
}

МОДЕЛЬ НАПРАВЛЕНИЯ

public function term()
{
return $this->hasOne('App\Term');
}

public function buses()
{
return $this->belongsToMany('App\Bus');
}

Срок Модель.

public function destination()
{
 return $this->belongsTo('App\Destination');
}
public function bus()
{
 return $this->belongsTo('App\Bus');
}
...