我正在尝试使用Eloquent模型更新我的数据库但是无法识别该类。
首先我使用迁移创建了我的表,并且工作正常。下面是代码 使用Illuminate \ Database \ Schema \ Blueprint; 使用Illuminate \ Database \ Migrations \ Migration;
class CreatePaintings extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('paintings',function($thepainting){
$thepainting->increments('id');
$thepainting->string('title');
$thepainting->string('artist');
$thepainting->integer('year');
$thepainting->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('paintings');
}
}
接下来,我创建了一个类" paint"使用该模型。但请注意,最近版本的laravel没有明确指定模型文件夹。因此,当我在命令提示符下运行下面的代码时,我能够创建绘图类
php artisan make:model paint
最后,我尝试使用下面的代码通过routes.php更新创建的表格,绘画。
Route::get('/', function()
{
$paintings = new Paint;
$paintings->title = 'Emmanuel';
$paintings->artist = 'D. DoRight';
$painitngs->year = 2014;
$paintings->save();
return view('trynn');
});
Route::get('about/directions', function()
{
return "Direction content goes here";
});
Route::get('about/{theSubject}', function($theSubject)
{
return $theSubject. " content goes here";
});
请我是laravel的新手,所以我将非常感谢您解决这个问题。我现在被困了。为免我遗忘,错误信息如下所示
糟糕,看起来出了问题。
1/1 routes.php第18行中的FatalErrorException: Class' Paint'找不到
在routes.php第18行答案 0 :(得分:0)
啊,这是一个简单的错误。如果不是全部,可以复制粘贴文件的全部内容。
此错误也是因为您没有从自动加载器中引入该类。在Laravel中,一切都是命名空间。在您的Paint Model中,您将看到namespace App
,如果您将Paint模型移动到模型目录中,则需要命名类App\Models;
要修复此错误,请在routes.php
文件的顶部写下use App\Paint;
。但是您应该将该路由发送到控制器以将代码与路由分开。
如果有帮助,请告诉我。
答案 1 :(得分:0)
没有找到类疼痛是正常的,请检查你在这里做了什么:
php artisan make:model paint
并在您的路线文件中:
$paintings = new Paint;
尝试将您的模型类名称更正为此画图,并且当您想要实例化时,默认情况下不会忘记生成的模型类的命名空间,因此您的路径文件将如下所示
Route::get('/', function()
{
$paintings = new App\Paint;
$paintings->title = 'Emmanuel';
$paintings->artist = 'D. DoRight';
$painitngs->year = 2014;
$paintings->save();
return view('trynn');
});