Laravel Eloquent - 按模型方法排序

时间:2017-12-01 13:11:24

标签: laravel eloquent

我有一个名为“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);
}

谢谢!

0 个答案:

没有答案