2015-04-04 93 views
8

我从Laravel 4移到Laravel 5.我看到的一个主要更改是,所有模型文件都必须放在/app目录下。Laravel 5 - 更改模型文件位置

如何配置我的laravel 5安装,以便我可以将我的模型文件放在/app/Models下,并且还可以使用通常的FooModel::with(...)(例如)方式的模型?

回答

6

的文件夹添加到composer.json类映射:

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

你只需要相应的命名空间中的模型。

namespace App\Models\User 

无论您需要使用它们,只要使用正确的名称空间引用它们即可。

use App\Models\User 

确保您运行composer update命令你在你的应用程序更改命名空间后重建自动加载。

+5

其实'composer dump-autoload'已经足够了...... – lukasgeiter 2015-04-05 10:12:11

+0

我假设有可能会出现'php artisan optimize'这样的情况。因为更新会自动触发,我只需要更新。它并不是那么昂贵。 – 2015-04-05 21:32:34

+0

好点。我仍然喜欢运行我想运行的实际命令。如果我想更新,我运行'composer update',如果我想重新生成自动加载文件,我运行'composer dump-autoload'等等...另外我通常在开发时不使用优化,所以我不不得不担心重新预编译的东西;) – lukasgeiter 2015-04-05 21:36:04