在Laravel中将两个关系合并到一个查询中

在Laravel中将两个关系合并到一个查询中,laravel,Laravel,我的一个模型包含以下内容: public function from() { return $this->belongsTo(Station::class, 'from_station_id'); } public function to() { return $this->belongsTo(Station::class, 'to_station_id'); } 为了使用它,我使用了和('to','from')方法。其结果如下: public function

我的一个模型包含以下内容:

public function from()
{
    return $this->belongsTo(Station::class, 'from_station_id');
}

public function to()
{
    return $this->belongsTo(Station::class, 'to_station_id');
}
为了使用它,我使用了
和('to','from')
方法。其结果如下:

public function from()
{
    return $this->belongsTo(Station::class, 'from_station_id');
}

public function to()
{
    return $this->belongsTo(Station::class, 'to_station_id');
}
从('1'中的“stations”和“id”中的“stations”中选择*

从('2'中的“stations”和“id”中的“stations”中选择*

两个缓存查询,一个用于“收件人”,另一个用于“发件人”。目前有1项记录,它们是“有用的”。但是在未来,他们会有很多重复的ID


Laravel是否提供了一个组合这些属性的选项?

假设您需要通过关系从模型中访问它们,例如
$model->from->first()
$model->to->count()
,您最好的选择是坚持使用两个查询。带有where in子句的查询没有那么重,您可以额外缓存它们以提高速度。

假设您需要通过关系从模型中访问它们,如
$model->from->first()
$model->to->count()
,您最好的选择是坚持使用两个查询。带有where in子句的查询没有那么重,您可以额外缓存它们以加快速度。

这不是我现在遇到的情况吗?还是我误解了?是的,就像我建议的那样,你最好的选择是坚持两个问题。这不是我现在的情况吗?还是我误解了?是的,就像我建议的那样,你最好的选择是坚持2个查询。