如何缓存查询结果?

时间:2019-06-19 13:35:50

标签: php ajax laravel

我正在尝试显示随机查询,但将其保留在缓存中,以便在重新加载页面时不会刷新。我使用的是可记忆的,所以我的Remember()函数的工作方式与旧版本相同。但是,即使我使用Cache :: remember我也有同样的问题,在限制中,我选择了1,在我的网站上我也收到了消息,显示1项中的1项到1项,但实际上我看到了所有内容,因此无法正常工作,但是主要问题是刷新页面数据后刷新后,缓存无法正常工作。

       public function ListGames(Request $request)
{
    $query = Game::select(
        'games.id',
        'games.status',
        'games.title',
        'games.city',
        'games.district',
        'games.type',
        'games.comment',
        'games.points',
        'games.created_at',
        'games.photo')->inRandomOrder()->limit(1)->remember(1)
            ->where('games.user_id', '<>', Auth::user()->id)
            ->where('games.status', '=', '1'); 
            // ->leftJoin('game_bids', 'games.status', '=', 'game_bids.is_awarded');
        // ->whereIn('games.status_id', [ExamManager::getStatus(false, 'regular')->id, ExamManager::getStatus(false, 'retake')->id]);
        return DataTables::of($query)->toJson();

}

这是我的数据表代码

        dataTableInit('#data-table', [5, 'desc'], 'POST', '{{ url('list/games') }}', [
            {
                title: '{{ Lang::trans('games.photo') }}',
                data: 'photo', render : function(data, type, row){
                  return '<img src="/images/default.jpg" class="img-fluid ${3|rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,|}" alt="">'
                //   return '<img src="/storage/game-photos/'+data+'" class="img-fluid ${3|rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,|}" alt="">'
            }},
            {
                title: '{{ Lang::trans('games.title') }}',
                data: 'title'
            },
            {
                title: '{{ Lang::trans('games.city') }}',
                data: 'city'
            },
            {
                title: '{{ Lang::trans('games.district') }}',
                data: 'district' 
            },
            {
                title: '{{ Lang::trans('games.type') }}',
                data: 'type'
            },
            {
                title: '{{ Lang::trans('games.created_at') }}',
                data: 'created_at'
            },
            {
            title: '{{ Lang::trans('games.status') }}',
            data: 'status', render : function(data, type, row)
            {
                switch (data)
                {
                    case '1': return '<span class="btn btn-success">{{ Lang::trans('games.going') }}</span>';
                        break;
                    case '2': return '<span class="btn btn-danger">{{ Lang::trans('games.disabled') }}</span>';
                        break;
                }
            }
        },
            {
                title: '{{ Lang::trans('games.actions') }}',
                defaultContent: '<div class="data-table-buttons-wrapper">' +
                                    '<button type="button" class="btn btn-info details-button" title="Details">{{ Lang::trans('games.view') }}</button> ' +
                                '</div>'
            }
        ]);
        detailsButton('{{ url('games/{id}') }}');`

0 个答案:

没有答案