2014-11-14 8 views
0

Laravel에서 PhpUnit, FactoryMuffinFaker을 PostgreSQL db와 함께 사용하고 있습니다. 이전 버전의 FactoryMuffin (Zizaco \ FactoryMuff)에서는 정적 팩토리 배열과 FactoryMuff :: create를 호출 할 때 Null 값을 열에 할당 할 수있었습니다.FactoryMuffin의 널 값 정의

그러나이 더 이상 작동 - 내가 사용하는 경우 다음과 같은 정의 :

FactoryMuffin::define('MyModel', array(
    'name' => 'word', 
    'empty' => null, 
    'another' => 'word' 
)); 

내가 FactoryMuffin이 :: 대신 빈 값을 떠나는 SQL INSERT 문에 NULL 전달하는 만들 전화, 그래서 얻을

:

INSERT INTO my_table ("name", "empty", "another") VALUES ('Ralph', , 'Someone'); 

PGSQL에서는 허용되지 않습니다. 똑같은 일이 발생합니다

FactoryMuffin::create('MyModel', array('empty' => null)); 

아이디어를 모델링 한 다음 필드에 null을 할당하는 것 이상의 모든 아이디어가 필요합니까?

답변

0

FactoryMuffin 2.1 버젼 (3. *)는 예 콜백 기능의 이점을 취할 수

FactoryMuffin::define('MyModel', array(
    'name' => 'word', 
    'empty' => null, 
    'another' => 'word' 
), function ($object, $saved) { 
    $object->empty = null; 
}); 
: 콜백이 정의 중 세번째 ​​파라미터로서 설정 FactoryMuffin 2.1

FactoryMuffin::define('MyModel', array(
    'name' => 'word', 
    'empty' => null, 
    'another' => 'word' 
))->setCallback(function ($object, $saved) { 
    $object->empty = null; 
}); 

+1

고마워, 그건 속임수 였어! 나는 2.0을 사용하고 있었지만 콜백이 정의에서 세 번째 매개 변수로 2.1에서 사용 가능해 졌기 때문에 지금은 3이 아니라 2.1로 갔다. – softfrog

+0

좋은 답변입니다. – marcanuy