2013-12-11 3 views
3

날짜가있는 레코드 목록이 있습니다 (예 : 11/5/2013, MDY formt). 날짜는 VARCHAR 필드입니다.Eloquent 선택 기록 양식 지난 30 일

지난 30 일 동안의 모든 레코드를 선택하고 싶지만 날짜 필드에 NULL이 표시되므로 날짜 형식으로 변환하는 방법을 모릅니다.

나는 Laravel과 Eloquent ORM을 사용하고 있는데, 어떻게 이것을 할 수 있습니까?

답변

11

모델에 접근 자가 필요합니다.

테이블에 dates 필드가 있다고 가정합니다.

public function getDatesAttribute($value) 
    { 
    $this->attributes['dates'] = Carbon::createFromFormat('m/d/Y', $value); 
    } 

위의 함수는 날짜를 문자열에서 Carbon 객체로 변환합니다. 기본적으로 Laravel은 Carbon을 지원합니다. 당신이 컨트롤러에서 이제

: 내가 코드를 테스트하지 않았습니다 만 작동합니다

$test = Test::where('dates', '>=', Carbon::now()->subMonth())->get(); 

. :)

관련 문제