如何使用Laravel Eloquent从具有多个相关表的查询中检索所有站点?

如何使用Laravel Eloquent从具有多个相关表的查询中检索所有站点?,laravel,eloquent,Laravel,Eloquent,我有以下查询检索所有与station相关的表,表estacion(station)总共有55条记录。使用下面的代码,我只检索数据仅与其他表相关的记录。无论一个站点是否有相关数据,我也需要显示所有55个站点。我尝试使用leftJoin创建查询,但与使用Elount相比,查询太大了 $ficha = Estacion::select('estacion.*') ->with('titular')

我有以下查询检索所有与station相关的表,表estacion(station)总共有55条记录。使用下面的代码,我只检索数据仅与其他表相关的记录。无论一个站点是否有相关数据,我也需要显示所有55个站点。我尝试使用leftJoin创建查询,但与使用Elount相比,查询太大了

  $ficha = Estacion::select('estacion.*')
                        ->with('titular')
                        ->with('operador')
                        ->with('estacionestado')
                        ->with('comuna')
                        ->with('eqestacion')
                        ->with('equipos.parametros')
                        ->where('estacion.id',$value)
                        ->get();    
我现在得到的。

好了:

$ficha = Estacion::with('titular',
                        'operador',
                        'estacionestado',
                        'comuna',
                        'eqestacion',
                        'equipos.parametros')
                        ->where('id',$value)
                        ->get();
这将为所有台站提供相关数据。其中
estacion.id/id
等于
$value

如果这不起作用,或者您正在比较错误的
$value
,或者您的关系设置不正确。

这样:

$ficha = Estacion::with('titular',
                        'operador',
                        'estacionestado',
                        'comuna',
                        'eqestacion',
                        'equipos.parametros')
                        ->where('id',$value)
                        ->get();
这将为所有台站提供相关数据。其中
estacion.id/id
等于
$value


如果这不起作用,或者您在错误的
$value
上进行比较,否则您的关系设置不正确。

请勿在后端编写除英语以外的其他语言。前端用户看不到的应该总是英语。理由:一,。其他人可以在那个项目上工作。2.从别人那里得到帮助更容易。除了英语,不要用其他语言写。前端用户看不到的应该总是英语。理由:一,。其他人可以在那个项目上工作。2.更容易从其他人那里获得帮助。它返回完全相同的数据,1个站点加上相关的表数据,大多数站点目前在titular或operador中都没有相关数据。@RodrigoCabrera,无所谓,它将始终返回所有站点,即使关系数据为空。它返回完全相同的数据,1个站点加上相关的表数据,大多数站点目前既没有titular中的相关数据,也没有operador中的相关数据。@RodrigoCabrera无所谓,它将始终返回所有站点,即使关系数据为空。