我有一个名为“certificados”的模型用这种方法来动态地计算状态:
public function vence()
{
$vence = '';
if ( null != $this->vencimiento && !$this->baja && !$this->renovado ) {
$datetime1 = new \DateTime("now");
$datetime2 = new \DateTime($this->vencimiento);
$interval = $datetime1->diff($datetime2);
$vence = $interval->format('%r%a');
if ( $vence == '+0' )
{
$vence = '0';
}
}
return $vence;
}
是否可以在我的控制器的索引()中使用ORDER BY vence()。现在我按 NUMERO 订购。
public function index(Request $request)
{
$busqueda = $request->input('busqueda');
$certificados = Certificado::where('numero','like','%'.$busqueda.'%')
->orWhere('producto','like','%'.$busqueda.'%')
->orWhereHas('titular', function($q) use($busqueda)
{
$q->where('nombre', 'like','%'.$busqueda.'%');
})
->orderBy('numero')
->paginate(config('constantes.general.paginacion'));
return View('certificados.index')->with('certificados', $certificados);
}
谢谢!