2015-11-28 15 views
11

Có thể nói với Laravel rằng tôi đã di chuyển mô hình User.php?Làm thế nào để di chuyển mô hình người dùng 5.1 của Laravel tới App Models User?

Laravel 5,1

FatalErrorException in EloquentUserProvider.php line 126: 
Class '\App\User' not found 

Tôi thực sự không quan tâm đến việc có tất cả các mô hình ở thư mục gốc của thư mục App trong laravel 5.1 vì vậy tôi đã tạo ra một thư mục mới và đặt tất cả các file mô hình php bên trong nó: \App\Models

tôi thay đổi bộ điều khiển auth sử dụng mới use App\Models\User; và khắc phục tất cả các tập tin mô hình trong thư mục mô hình ..

Tuy nhiên khi tôi tải trang tôi nhận được lỗi nêu trên.

(các tập tin mô hình khác tất nhiên làm việc tốt vì nó là mã của tôi truy cập vào chúng, nó chỉ là những thứ được xây dựng sẵn auth từ laravel 5.1)

Trả lời

15

Ví dụ, nếu bạn tạo một thư mục (ví dụ như ứng dụng/mô hình), có hai cách để di chuyển mô hình của bạn:

1) Laravel5 style = Sử dụng PSR4

Namespace tất cả các tập tin của bạn với mô hình không gian tên App\Models; Tiếp cận mô hình của bạn bất cứ nơi nào với không gian tên đầy đủ của họ, ví dụ như: \App\Models\User::find(1);

2) Laravel4 phong cách

Tải mô hình của bạn với nhà soạn nhạc autoloader. Trong composer.json thêm:

"autoload": { 
     "classmap": [ 
      "database", 
      "app/Models"    
     ], 
     ... 

Bạn không cần phải đặt tên cho Mô hình của mình. Họ đang ở trong không gian tên root Trong các tệp có tên, bạn có thể truy cập chúng dưới dạng \ User :: find (1);

ghi chú thêm:

  • Nếu bạn thay đổi tha namespace của mô hình tài khoản bạn phải cập nhật config\auth.php =>'model'=> App\Models\User::class

  • Cách đơn giản nhất để loại bỏ không gian tên dài là để nhập các mô hình của bạn khi bắt đầu các tệp php của bạn, Ví dụ: use App\Models\User;

Links:

+0

Nếu chúng ta làm điều gì đó giống như tài khoản :: tìm (1); và xác định không gian tên trong phần đầu (sử dụng App \ User;). Nó vẫn là PSR4? –

7

Bạn cần phải sửa đổi tập tin Project/config/auth.php bạn trên 'model'=> AppName\Models\User::class,

Các vấn đề liên quan