php - Laravel 5 找不到 Eloquent 模型

标签 php laravel laravel-4 eloquent laravel-5

我是 Laravel 的新手,在加载我的模型以便为数据库播种时遇到问题。我已经尝试了 composer.json 的 Laravel 4 方法和 Laravel 5 PSR-4。

数据库播种器.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 旁边的应用程序中尝试过它们

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'];
}

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 

我敢肯定这是我作为初学者所缺少的一些愚蠢的东西!谢谢!

最佳答案

首先,您可能必须扩展 Eloquent 而不是\Eloquent。当您在用法中添加\时,您是在告诉 PHP 在其根命名空间中查找 Eloquent。所以:

namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;

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

其次,无需执行 composer dumpautoload,因为您的 App 命名空间已包含在 Laravel 安装中:

"autoload": {
    ...
    "psr-4": {
        "App\\": "app/"
    }
},

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

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

app/Models/Client.php

并按原样命名。除此之外,我在您的代码中没有发现任何问题。

关于php - Laravel 5 找不到 Eloquent 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948635/

相关文章:

php - FQL 错误 102 需要用户 session 进行重复查询

php - 在 Laravel 中使用 JSON 函数等 Postgres 功能

php - Laravel Redirect::route() 在 vhost 上访问错误的 url

php - 如何在 Laravel 中执行 MYSQL 查询?

php - 如何从字符串中删除(大多数)短词

php - 生成 AWS 签名 (ShipLogic)

javascript - 未定义索引 : PHP variables passing by AJAX

javascript - laravel 和数据表无法集成

php - Laravel - 检查 Ajax 是否请求

javascript - Laravel - 验证错误