我想在验证成功后将数据添加到数据库,但我收到此错误。'
FatalThrowableError in AboutController.php line 51:
Class 'App\About' not found.
我的控制器
<?php
namespace App\Http\Controllers;
use App\About;
use Illuminate\Http\Request;
use App\Http\Requests;
class AboutController extends Controller
{
public function store(Request $request)
{
//
$about = $request->about;
$validation = \Validator::make($about, About::$rules);
if($validation->passes())
{
About::create($about);
return route('about/admin')->compact(about);
}
}
我的模特
<?php
namespace App\Http\Controllers;
use Illuminate\Database\Eloquent\Model;
class About extends Model
{
//
protected $guarded = array('id');
protected $fillable = array('about');
public static $rules = array('about' => 'required|5');
}
控制器的位置和型号:
App\Http\Controllers\AboutController
App\About
我试图运行
php artisan cache:clear
php artisan clear-compiled
composer dump-autoload
我被卡住了,任何人都可以告诉我是什么原因引起的吗?
答案 0 :(得分:2)
将模型的命名空间更改为App
应该可以解决问题。
<?php
namespace App; // <- here
use Illuminate\Database\Eloquent\Model;
class About extends Model
{
答案 1 :(得分:2)
正如@webNeat所说,您应该更改模型中使用的命名空间。
您的模型关于
<?php
namespace App\Http\Controllers;
use Illuminate\Database\Eloquent\Model;
class About extends Model
{
<强>控制器强>
<?php
namespace App\Http\Controllers;
use App\About; // You have declared App\Http\Controllers in your Model
模型关于固定
<?php
namespace App; // change to this namespace
use Illuminate\Database\Eloquent\Model;
class About extends Model
{
如果您对Laravel或命名空间有点遗失,我强烈建议您使用php artisan及其每个命令,并通过阅读生成的所有代码来查看和研究它们的作用。对于这种情况:
php artisan make:model About
您将获得一个全新的关于模型,用于接收具有正确命名空间的所有代码。