2017-11-10 14 views
0

저는 Laravel 5.4를 사용하고 있으며, 알골 류를 내 프로젝트에 통합 시켰지 만 열의 데이터 유형에 문제가 있습니다.Algolia는 Laravel을 사용하여 문자열 만 저장합니다. 5.4

localhost에서 명령을 실행하면 상태 열 (및 기타 항목)이 정수와 같이 알골 데이터베이스에 표시되지만 프로덕션 환경에서 동일한 artisan 명령을 실행하면 상태 열이 이제 문자열이고 ' algolia는 where 절에 정수 만 사용할 수 있으므로 내 코드에는 ->where('status', 1)을 사용하십시오.

데이터베이스에 문제가 있습니까? 하지만 내 localhost에서 동일한 데이터베이스, 동일한 MySQL의 버전입니다 ...

답변

0

나는 이것의 이유가 될 수있는 모르겠지만, 나는 좋은 일을 알고 있다고 생각.

Algolia는 where 절로 문자열을 가질 수 있지만 Laravel Scout의 의도적 인 제한 사항입니다.

모델에서 toSearchableArray를 사용하여 Algolia로 전송 된 배열을 사용자 정의 할 수 있습니다. 나는 데이터를 던지기 위해 그것을 사용할 것이다.

public function toSearchableArray() 
{ 
    $data = $this->toArray(); 

    $data['attribute'] = (int) $data['attribute']; 

    return $data; 
} 
: https://laravel.com/docs/5.5/scout#configuring-searchable-data

이 뭔가를해야한다