首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5没有找到有说服力的模型

Laravel 5没有找到有说服力的模型
EN

Stack Overflow用户
提问于 2015-04-29 23:47:32
回答 1查看 1.3K关注 0票数 6

我是一个全新的Laravel新手,在加载我的模型以播种数据库时遇到了问题。我已经尝试过composer.json的Laravel4方法和Laravel5PSR-4。

DatabaseSeeder.php

代码语言:javascript
复制
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中尝试过了

代码语言:javascript
复制
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

代码语言:javascript
复制
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;

class Module extends \Eloquent {
    proteced $fillable = ['id', 'name', 'created_at', 'updated_at'];
}

ModuleConnection.php

代码语言:javascript
复制
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的时候。

代码语言:javascript
复制
[Symfony\Component\Debug\Exception\FatalErrorException]  
Class 'App\Models\Client' not found 

我敢肯定,作为一个初学者,我错过了一些愚蠢的东西!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-04-30 00:59:47

首先,您可能需要扩展Eloquent和not Eloquent。当您在用法上添加\时,您是在告诉PHP在其根名称空间中找到一个雄辩的名称空间。所以:

代码语言:javascript
复制
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安装中:

代码语言:javascript
复制
"autoload": {
    ...
    "psr-4": {
        "App\\": "app/"
    }
},

这告诉自动加载器在app/路径中搜索您的命名空间类。

您必须检查的是文件Client.php是否在文件夹中:

代码语言:javascript
复制
app/Models/Client.php

并按原样命名。除此之外,我看不出你的代码有什么问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29948635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档