首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5模型类

Laravel 5模型类
EN

Stack Overflow用户
提问于 2015-07-27 06:46:29
回答 4查看 3.7K关注 0票数 2

我在app根目录中创建了模型类。因为laravel 5使用app根目录作为模型。我没有为Models创建另一个文件夹。

代码语言:javascript
复制
class Posts extends Eloquent{}

routes.php中:

代码语言:javascript
复制
Route::get('/', function () {

  $painting = Posts;
  $painting->title = 'Do no Wrong';
  $painting->artist = 'D. Do right';
  $painting->year = 2014;
  $painting->save();

  return view('welcome');
});

它引发以下错误:

代码语言:javascript
复制
Class 'Painting' not found
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-27 07:23:52

模型的文件名必须反映类名。因此,对于Posts模型,文件应该命名为Posts.php。假设模型已经放置在Laravel安装的App/目录中,模型应该如下所示:

代码语言:javascript
复制
<?php 

namespace App;

use Illuminate\Database\Eloquent\Model;

class Posts extends Model 
{

}

然后,您可以在App命名空间下以App\Posts的形式访问路由中的App\Posts模型。

代码语言:javascript
复制
Route::get('/', function () {

  $painting = new App\Posts;
  $painting->title = 'Do no Wrong';
  $painting->artist = 'D. Do right';
  $painting->year = 2014;
  $painting->save();

  return view('welcome');
});

以上应该是可行的,但我建议您的模型使用非复数名称。因此,理想情况下,您的Posts模型应该被称为Post,而数据库中的表将被称为posts。这是命名类和数据库表时的拉勒维尔会议希望你能跟上

票数 3
EN

Stack Overflow用户

发布于 2015-07-27 06:53:58

$painting = Posts;更改为$painting = new Posts;

此外,我认为你应该创造出这样的雄辩模型:

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

class Posts extends Model

而不是试图扩展‘雄辩’。

票数 0
EN

Stack Overflow用户

发布于 2015-07-27 06:56:23

可以使用create方法保存记录。

代码语言:javascript
复制
Posts::create([ 'title' => 'Do no Wrong', 'artist' = 'D. Do right']);

或者简单地说,您可以实例Posts类并使用代码。

代码语言:javascript
复制
Route::get('/', function () {
  $painting = new Posts;
  $painting->title = 'Do no Wrong';
  $painting->artist = 'D. Do right';
  $painting->year = 2014;
  $painting->save();
  return view('welcome');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31646526

复制
相关文章

相似问题

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