2014-09-21 1 views
0

스크린 샷을 찍은 시간을 정의하는 date 열이있는 스크린 샷 모델이 있다고 가정 해 보겠습니다. 또한 주어진 버전의 시작과 끝을 정의하는 start_dateend_date 인스턴스 메서드가있는 GameVersion 모델이 있습니다.

start_date()end_date() 사이의 모든 스크린 샷을 반환하는 각 GameVersion에 대해 screenshots 연관을 원한다면 어떻게해야합니까? 나는 것을 시도하는 경우

static $has_many = [ 
    ['screenshots', 'conditions' => ['date >= ? AND date <= ?', $this->start_date(), $this->end_date()]], 
]; 

, 내가 얻을 :

루비 온 레일즈에서 Parse error: syntax error, unexpected '$this' (T_VARIABLE), expecting ']'

, 이것은과 같이 이루어집니다

has_many :birthday_events, ->(user) { where starts_on: user.birthday }, class_name: 'Event' 

답변

0

당신은 정적으로 $this을 사용할 수 없습니다 대신 self::을 사용하십시오.

+0

그 결과'구문 분석 오류 : 예상치 못한 구문 오류 '(', 'expecting'] ''(전체 줄 :'정적 $ has_many = [[스크린 샷', '조건'=> [ '날짜> =? 'start_date()'와'end_date()'는 정적/클래스 메소드가 아닌 인스턴스 메소드이다. – TonyFox

+0

@TonyFox 어떤 버전의 PHP인가? 문제를 피하기 위해 일반적인 구문을 사용 하시길 바랍니다. 어쩌면 어딘가에서 세미콜론을 닫는 것을 잊었을 것입니다. – meda

+0

5.4.7, 그리고 어떤 부분이 정규 구문이 아닌가요?) 대신 []을 입력 해주세요. – TonyFox