首页 > 解决方案 > 如何使用 Laravel 按时间过滤数据?

问题描述

我有这个查询,我想只获取当月创建的数据

public function index(Request $request)
{

    if($request->ajax())
    {
        $data = DB::table('tbl_lista_contactabilidad as a')
    ->select('a.id','a.rif','a.razon_social','a.postventaatcs_id','fecha_contacto','a.contactado','a.persona_contacto','a.correo_contacto','a.celular_contacto','a.numero_contacto','a.comentarios','a.auditado')
    ->leftjoin('tbl_equipo_postventaatcs as h','h.id','=','a.postventaatc_id')
    ->leftjoin('users as l','l.id','=','h.asesor_id')
    ->leftjoin('tbl_lista_respuestas as b','b.id','=','a.auditado')
    ->leftjoin('tbl_lista_respuestasc as c','c.id','=','a.contactado')
    ->where('l.idop', auth()->user()->idop)
    ->where('a.estatus','=',1)
    ->select(array('a.id','l.name as idop_asesor','l.apellido as ape_asesor','l.idop','a.rif','a.razon_social','a.estatus','fecha_contacto','a.contactado', 'a.persona_contacto','a.correo_contacto','a.celular_contacto','a.numero_contacto','a.comentarios','a.auditado','b.respuesta','c.respuestac'));

    }

    return view('contactabilidadasesor');
}

标签: laravellaravel-5eloquentlaravel-6laravel-query-builder

解决方案


我不确定您的查询是否正确,可能应该删除两个 select() 之一。

虽然,为了获取在当月创建的数据,在您的查询中添加以下内容

->whereYear('a.created_at', Carbon::now()->year)
->whereMonth('a.created_at', Carbon::now()->month)

推荐阅读