Bu yüzden Laravel 4'ten 5'e gitmeye karar verdim, bu da beni yaklaşık 1-2 gün sürdü. Uygulamam için Yükseltme yaparken, Json Pagination ile küçük bir sorunla karşılaştım.Laravel 5 Cache/Paginate Sorun
Bu kod verir ne PageQuery numaralandırılmışsa edilecek olan Via KnockoutJS sonunda bu ekran görüntüsünde bu hataya yol
/**
* Builds paginate query with given parameters.
*
* @param array $params
* @param integer $page
* @param integer $perPage
*
* @return array
*/
public function buildPaginateQuery(array $params, $page = 1, $perPage = 15)
{
$query = $this->model;
$query = $this->appendParams($params, $query);
$count = (new Cache)->remember('count', '2000', function() use ($query){
return $query->count();
});
$totalPages = $count/$perPage;
$query = $query->skip($perPage * ($page - 1))->take($perPage);
$query = $query->order(isset($params['order']) && $params['order'] ? $params['order'] : null);
//$query = $query->cacheTags(array($this->model->table, 'pagination'))->remember(2000);
$query = (new Cache)->remember(array($this->model->table, 'pagination'), '2000', function() use ($query){
return $query;
});
return array('query' => $query, 'totalPages' => $totalPages, 'totalItems' => $count);
}
Hata yukarıdaki kodu ve bu koda yönlendirir
özellikle
/**
* Get the full path for the given cache key.
*
* @param string $key
* @return string
*/
protected function path($key)
{
$parts = array_slice(str_split($hash = md5($key), 2), 0, 2);
$path = $this->directory() . '/'.join('/', $parts).'/'.$hash;
//unset the tags so we use the base cache folder if no
//tags are passed with subsequent call to the same instance
//of this class
//$this->tags = array();
return $path;
}
TaggedFile adlı bir özel önbellek sürücüsü kullanıyorum. Bu, L4'te iyi çalıştı ancak hatalarla karşılaştı çünkü bazı dosyalar Önbellek Alias içinde kaldırıldı. StoreInterface gibi. Bunun için biraz yardım alabilir miyim? Eğer bir şey göndermeme ihtiyacın varsa, yapacağım.
Diğer Öğeler:
ben global.php içinde taggedFile Sürücü Kayıt için bu kullanılan Önce: Tam olarak bu koymak nerede bilmiyorum
Cache::extend('taggedFile', function($app)
{
return new Illuminate\Cache\Repository(new Lib\Extensions\TaggedFileCache);
});
. Bunun eşdeğer olduğunu bilen var mı? bu yüzden elle sorunun ne olduğunu bulmak ....
Bu satıcı klasörüne gitmeye karar
Call to undefined method Illuminate\Support\Facades\Cache::extend()
Bu
L4 çalışmak için kullandı: Ben AppServiceProvider koyarak denedim ama bir hata söyleyerek geldi sadece vardı: getFacadeAccessor (Hangi L4 sadece vardı ama çalıştı uzatılmış) Bu yüzden getFacadeAccessor kullanmaya karar verdim ve işe yaradı, ama çözüm olup olmadığını bilmiyorum. Eğer bir $ anahtar değeri olarak bir dizi geçiyoruz fark gibi