[英]Lumen: Using Eloquent in Lumen Project
取消评论后,我将Eloquent用于我的Lumen项目
$app->withEloquent();
在bootstrap / app.php文件中,我已经在我的项目中为Model类创建了database / models文件夹。 每当我在数据库/模型中添加一个类并尝试使用它时,它都会引发并且未找到类异常,但是在运行composer dump-autoload之后,该类可供使用。 我该如何自动化,就像在数据库/模型中添加类模型并使用它,就像我们在Laravel中所做的那样。
这是我的Model课。
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model{
protected $table = 'posts';
protected $fillable = array(
'id',
'p_id',
'username',
'title',
'uri',
'source',
'points',
'status',
'language',
'type',
);
}
这是我尝试使用此模型的控制器。
<?php namespace App\Http\Controllers;
use App\Post;
class ContentController extends BaseController{
public function posts(Request $request){
return Post::all();
}
}
这是我的composer.json文件
{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
"laravel/lumen-framework": "5.1.*",
"vlucas/phpdotenv": "~1.0",
"illuminate/mail": "5.1.*"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"fzaninotto/faker": "~1.0"
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/",
"database/models"
]
},
"autoload-dev": {
"classmap": [
"tests/"
]
},
"config": {
"preferred-install": "dist"
}
}
将您的模型从database/models
移至app/models
,并将名称空间更改为App\\Models
,一切都应正常进行。
使用composers classmap查找类时,composer仅在运行composer dump-autoload
时缓存路径。 通过使用PSR-4类加载,作曲家可以通过查看其命名空间来找到文件。 您的App
命名空间已配置为位于路径app
,并且作曲家开始在其中查找它们。
由于基本流明composer.json,您应该将模型保存在app /目录中,作为自动PSR-4类自动加载
我想如果您想移动bas Model
文件夹,应该将模型保留在app\\Models
,只需尝试在PSR-4的自动加载部分中添加文件夹并为其指定名称空间
{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
"laravel/lumen-framework": "5.1.*",
"vlucas/phpdotenv": "~1.0",
"illuminate/mail": "5.1.*"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"fzaninotto/faker": "~1.0"
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/",
"database/models"
]
},
"autoload-dev": {
"classmap": [
"tests/"
]
},
"config": {
"preferred-install": "dist"
}
}
至
{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
"laravel/lumen-framework": "5.1.*",
"vlucas/phpdotenv": "~1.0",
"illuminate/mail": "5.1.*"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"fzaninotto/faker": "~1.0"
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Models\\:"database/models"
},
"classmap": [
"database/",
]
},
"autoload-dev": {
"classmap": [
"tests/"
]
},
"config": {
"preferred-install": "dist"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.