【发布时间】:2015-07-09 00:40:46
【问题描述】:
我是 Laravel 的新手,无法加载我的模型来为数据库做种。我已经尝试过 composer.json 的 Laravel 4 方法和 Laravel 5 PSR-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');
}
}
客户端.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'];
}
模块.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Module extends \Eloquent {
proteced $fillable = ['id', 'name', 'created_at', 'updated_at'];
}
模块连接.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
我确定这是我作为初学者缺少的一些愚蠢的东西!谢谢!
【问题讨论】:
-
您能否确认您的模型文件夹名称前面有一个大写的
Models。你也忘了把这段代码放在定义命名空间之后。use Illuminate\Database\Eloquent\Model;你必须扩展Model而不是Eloquent除非你这样指定。use Illuminate\Database\Eloquent\Model as Eloquent。然后运行这个命令composer dump-autoload -
感谢 Faiz 到目前为止的帮助。文件夹名称是大写的,是的。我按照您在帖子中的建议编辑了代码 - 仍然是同样的错误。不过可能弄错了最后一个超类部分。
-
您是否重命名了您的应用程序?你有没有运行过命令
php artisan app:name?如果是这样,您将需要使用该名称而不是“App”
标签: php laravel laravel-4 eloquent laravel-5