laravel을 사용하여 DB에서 타임 스탬프 유형의 속성을 연도 및 나방별로 필터링하려면 어떻게해야합니까?

TuGordoBello

"기술"의 "서비스"를 연도 및 월별로 필터링하려고합니다.이를 위해 "기술"을 찾을 수있는 ID를 얻습니다. 이 모든 작업은 중첩 쿼리로 수행됩니다. 내 문제는 laravel을 사용하여 연도와 나방별로 필터링하는 방법을 모른다는 것입니다.

제어 장치

    public function doFilter(){
    $servicios = Tecnico::find(Input::get('id'))
                ->servicios //services
                ->where('timestamp', Input::get('ano').'-'.Input::get('mes'));// ano=year, mes=moth
    return View::make('detalletecnico', array('servicios' => $servicios, 'id' => Input::get('id')));            

    }

TechnicalModel

class Tecnico extends Eloquent{
protected $table = 'Tecnico';
protected $primaryKey = 'idTecnico';
protected $hidden = array('Contrasena');
protected $fillable = array(
                            'idTecnico',
                            'Nombre',
                            'Apellido',
                            'Telefono',
                            'Contrasena',
                            'Foto',
                            );
public function servicios(){
    return $this->belongsToMany('Servicio', 'Servicio_Tecnico', 'Tecnico_idTecnico', 'Servicio_idServicio');
}

}

ServiceModel

class Servicio extends Eloquent{
protected $table = 'Servicio';
protected $primaryKey = 'idServicio';
protected $fillable = array(
                            'Direccion',
                            'RutaPDF',
                            'Completado',
                            'timestamp'
                            );
public function materialUsado(){
    return $this->hasMany('Material_Usado', 'idMaterial_Usado');
}

public function tecnicos(){
    return $this->belongsToMany('Tecnico', 'Servicio_Tecnico', 'Servicio_idServicio', 'Tecnico_idTecnico');
}
}

노선

Route::get('tecnico/detalle/filter', array('uses' => 'TecnicoController@doFilter'));

            {{Form::open(array('url' => 'tecnico/detalle/filter'))}}
        {{Form::select('mes', array('Enero', 
                                        'Febrero', 
                                        'Marzo', 
                                        'Abril', 
                                        'Mayo', 
                                        'Junio',
                                        'Julio',
                                        'Agosto',
                                        'Septiembre',
                                        'Octubre',
                                        'Noviembre',
                                        'Diciembre'), array('class' => 'input-xlarge'))}}

        {{Form::select('ano', array(date('Y'),
                                    '2013', 
                                    '2012' 
                                    ), array('class' => 'input-xlarge'))}}
        {{ Form::hidden('id', $id) }}                       
        {{ Form::submit('Filtrar', array('class' => 'btn btn-primary')) }}  
        {{Form::close()}}
cw24

MySql에서 원시 wheres 및 YEAR 및 MONTH 함수를 사용하려고 할 수 있습니다.

$servicios = Tecnico::find(Input::get('id'))
            ->servicios()
            ->whereRaw('YEAR(timestamp) = ?', array(Input::get('ano')))
            ->whereRaw('MONTH(timestamp) = ?', array(Input::get('mes')))
            ->get();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관