我刚接触Laravel,现在正在尝试将模型加载到数据库中进行填充,但遇到了困难。我尝试了Laravel 4中composer.json和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');
}
}
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
我确定这是我作为初学者所遗漏的一些愚蠢的东西!谢谢!
Models
吗?另外,在定义命名空间后,你忘记加上这段代码了:use Illuminate\Database\Eloquent\Model;
除非你像这样指定,否则你必须扩展Model
而不是Eloquent
:use Illuminate\Database\Eloquent\Model as Eloquent
。然后运行这个命令:composer dump-autoload
。 - Faizphp artisan app:name
命令?如果是这样,你需要使用该名称而不是 'App'。 - Patrick Stephan