Laravel关系,一个数据库有两个外键

时间:2017-04-19 14:10:39

标签: database laravel foreign-keys relationship

这是我的位置表:

ID
Name
Type

这是路线表:

ID
Location_start(int)
Location_distination(int)
Distance
Rate

我尝试在这两个表之间建立关系,因此我可以在foreach循环中获取location_startlocation_distination的位置名称。我尝试过:

public function locationStart()
{
$this->belongsTo('App\Route', 'location_start');
}
public function locationDistination()
{
$this->belongsTo('App\Route', 'location_distination');
}

但它没有这种方式。

1 个答案:

答案 0 :(得分:0)

您的路线类应如下所示:

class Route extends Model
{
    public function locationStart()
    {
        $this->belongsTo(Location::class, 'location_start');
    }

    public function locationDestination()
    {
        $this->belongsTo(Location::class, 'location_distination');
    }
}

然后你应该能够做到:

$route = Route::with('locationStart', 'locationDestination')->find(20);
$route->locationStart->Name;
$route->locationEnd->Name;