Laravel将变量从控制器查询传递到模型函数

时间:2017-06-08 19:46:19

标签: laravel laravel-5

我的模型上有一个功能,用于检查equipment_station表中的活动状态,

最初它只检查了一个状态,现在我需要将参数传递给具有活动或非活动值的模型,我试过这个没有成功。

控制器: controller query

型号:   model image

如何更改模型中的参数,我将状态从控制器发送为非活动或活动状态。

提前致谢

2 个答案:

答案 0 :(得分:0)

你可以query scope

public function scopeActive($query, $active)
{
   return $query->where('active', $active);
}

然后你可以在你的模型中调用它

Estacion::active(true)->get();

答案 1 :(得分:0)

您可以通过为预先加载

指定其他查询约束来约束Eager Loading
$historial_estaction = 
Estacion::where('estacion.id', $id)
   ->whereHas('equipos', function($query) use ($estado1) {
        $query->where('equipo_estacion.estado', $estado1);
    })->with(['equipos' => function ($query) use ($estado1) {
        $query->where('estado', $estado1);
    }])->get();

型号:

public function equipos()
{
    return $this->belongsToMany('App\Equipo')
                ->withPivot('estado')
                ->withTimestamps();
}