2016-07-07 1 views
0

Laravel 5.2를 사용하여 작성된 응용 프로그램이 있습니다. 많은 경우에Laravel에서 remember() 메서드를 사용하여 쿼리 작성기를 사용하여 쿼리를 캐시하려면 어떻게해야합니까?

나는

DB::connection('custom')->table('user') 
->join 
..... 
->where(
........->get(); 

이 어떻게 쿼리 빌더에서 생성 된 쿼리를 캐시하는 방법 remember()을 사용할 수 있도록처럼 내 쿼리를 작성하는 쿼리 빌더를 사용하고?

난 그냥 get() 전에 ->remember(60)을 사용하려하지만이 나에게 쿼리 \ 빌더 기억 :: \

전화 정의되지 않은 메서드를 분명히 \ 데이터베이스에 오류()

답변

2

당신이해야을주고있다 이

$value = Cache::remember('users', 60, function() 
    { 
    return DB::table('users')->get(); 
}); 
+0

'사용자'가 캐시의 핵심이라고 생각하십니까? 그렇다면 동일한 검색에 대한 쿼리에 대해 고유해야합니다. – Jaylen

+0

이전에는 사용자가 변경되었거나 60 명이 변경되었습니다 ... ID 또는 시간을 추가하거나 모든 케이스에 스위트 룸을 추가하십시오. –

+0

쿼리 작성기에서 생성 중이므로 바인딩 값을 키로 사용하여 실제 쿼리를 사용하는 방법이 있습니까? toSql 메소드에는 보세 값이 포함되지 않습니다. – Jaylen