我是一个全新的Laravel新手,在加载我的模型以播种数据库时遇到了问题。我已经尝试过composer.json的Laravel4方法和Laravel5PSR-4。
DatabaseSeeder.php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\App\Models\Client::truncate();
\App\Models\Module::truncate();
\App\Models\ModuleConnection::truncate();
Model::unguard();
$this->call('ClientsTableSeeder');
$this->call('ModulesTableSeeder');
$this->call('ConncetionsTableSeeder');
}
}Client.php
目前这些都在app\Models中,但我已经在Users.php旁边的app中尝试过了
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Client extends \Eloquent {
proteced $fillable = ['id', 'name', 'email', 'created_at', 'updated_at'];
}Module.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Module extends \Eloquent {
proteced $fillable = ['id', 'name', 'created_at', 'updated_at'];
}ModuleConnection.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class ModuleConnection extends \Eloquent {
proteced $fillable = ['id', 'clientid', 'moduleid', 'apiconn', 'created_at', 'updated_at'];
}错误
这是我运行php artisan db:seed的时候。
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'App\Models\Client' not found 我敢肯定,作为一个初学者,我错过了一些愚蠢的东西!谢谢!
发布于 2015-04-30 00:59:47
首先,您可能需要扩展Eloquent和not Eloquent。当您在用法上添加\时,您是在告诉PHP在其根名称空间中找到一个雄辩的名称空间。所以:
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Module extends Eloquent {
proteced $fillable = ['id', 'name', 'created_at', 'updated_at'];
}其次,不需要执行composer dumpautoload,因为您的应用程序名称空间已包含在您的Laravel安装中:
"autoload": {
...
"psr-4": {
"App\\": "app/"
}
},这告诉自动加载器在app/路径中搜索您的命名空间类。
您必须检查的是文件Client.php是否在文件夹中:
app/Models/Client.php并按原样命名。除此之外,我看不出你的代码有什么问题。
https://stackoverflow.com/questions/29948635
复制相似问题