我在app根目录中创建了模型类。因为laravel 5使用app根目录作为模型。我没有为Models创建另一个文件夹。
class Posts extends Eloquent{}在routes.php中:
Route::get('/', function () {
$painting = Posts;
$painting->title = 'Do no Wrong';
$painting->artist = 'D. Do right';
$painting->year = 2014;
$painting->save();
return view('welcome');
});它引发以下错误:
Class 'Painting' not found发布于 2015-07-27 07:23:52
模型的文件名必须反映类名。因此,对于Posts模型,文件应该命名为Posts.php。假设模型已经放置在Laravel安装的App/目录中,模型应该如下所示:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Posts extends Model
{
}然后,您可以在App命名空间下以App\Posts的形式访问路由中的App\Posts模型。
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。这是命名类和数据库表时的拉勒维尔会议希望你能跟上。
发布于 2015-07-27 06:53:58
将$painting = Posts;更改为$painting = new Posts;
此外,我认为你应该创造出这样的雄辩模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Posts extends Model而不是试图扩展‘雄辩’。
发布于 2015-07-27 06:56:23
可以使用create方法保存记录。
Posts::create([ 'title' => 'Do no Wrong', 'artist' = 'D. Do right']);或者简单地说,您可以实例Posts类并使用代码。
Route::get('/', function () {
$painting = new Posts;
$painting->title = 'Do no Wrong';
$painting->artist = 'D. Do right';
$painting->year = 2014;
$painting->save();
return view('welcome');
});https://stackoverflow.com/questions/31646526
复制相似问题