2016-03-02 19 views
5

Chào các bạn khi sử dụng Laravel 5.2.2 mới nhất và Entrust ("zizaco/ủy thác": "5.2.x-dev") Tôi gặp phải lỗi này và không chắc chắn cách giải quyết nàyLaravel 5.2.2 và lỗi Entrust gọi đến phương thức chưa xác định

Call to undefined method Zizaco\Entrust\EntrustServiceProvider::hasRole() 

tôi kiểm tra mã này trên HomeController.php

use Entrust; 

class HomeController extends Controller 
{ 


    public function index() 
    { 
     if (Entrust::hasRole('admin')) { 
      echo "string"; 
     } 

     return view('home'); 
    } 
} 

Đây là cung cấp dịch vụ config/app.php tôi

Zizaco\Entrust\EntrustServiceProvider::class 

cấu hình /app.php mặt tiền alias

'Entrust' => Zizaco\Entrust\EntrustFacade::class 

Tôi cũng đã tạo ra các mô hình cần thiết

enter image description here

enter image description here

enter image description here

Tôi đã bỏ lỡ cái gì ở đây? Cảm ơn trước

Trả lời

5

Có vẻ như tất cả các bước là đúng, và tôi chỉ cần để xóa bộ nhớ cache với php artisan config:cache

Và nếu bạn phải đối mặt với một lỗi như dưới đây

BadMethodCallException in vendor\laravel\framework\src\Illuminate\Cache\Repository.php line 380: 
This cache store does not support tagging. 

Bạn cần thay đổi trong. eNV dòng này để mảng

CACHE_DRIVER=array 
+0

tôi đã cùng một lỗi. tôi đã cố gắng bằng cách thay đổi CACHE_DRIVER = mảng trong tập tin .env và cũng trong config/cache file 'mặc định' => env ('CACHE_DRIVER', 'mảng') nhưng tôi đã có lỗi mới '[Symfony \ Component \ Debug \ Exception \ FatalErrorException] Không tìm thấy 'App \ Permission' của lớp 'bạn có thể giúp tôi không? – user2480902

0

Hãy thử điều này:

Mở tệp môi trường của laravel của bạn thay đổi CACHE_DRIVER = tệp thành CACHE_DRIVER = mảng và lưu.

Bây giờ hãy thử lệnh CLI của bạn.

10

Tôi có cùng một vấn đề, sau đây là các bước tôi đã thực hiện để giải quyết vấn đề

Trong .env của bạn thay đổi tập tin vào mảng bộ nhớ cache

CACHE_DRIVER=array 

và không quên để chạy

php artisan config:cache 
+0

Tôi gặp vấn đề ngay cả khi sử dụng 'mảng' hoặc 'memcached' (xem https://github.com/Zizaco/entrust/issues/679#issuecomment-293126444). – Ryan

+0

Hãy thử sau khi xóa bạn bắt và đặt lại cấu hình của bạn bằng cách sử dụng nghệ nhân –

+0

Ohh đây là lỗi của tôi: http://stackoverflow.com/questions/37462365/laravel-cache-store-does-not-support-tagging/37463070?noredirect=1 # comment73760715_37463070 Cảm ơn bạn! – Ryan

0

Trình điều khiển Laravel không hỗ trợ gắn thẻ. Để giải quyết điều này, hãy để tập tin .env bạn và thay đổi

Cache_driver=file 

để

Cache_driver=array 

và chạy

php artisan config:cache 
Các vấn đề liên quan