在laravel 5.2上找不到“App”类

时间:2016-06-11 15:27:42

标签: validation laravel-5

我想在验证成功后将数据添加到数据库,但我收到此错误。'

     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

我被卡住了,任何人都可以告诉我是什么原因引起的吗?

2 个答案:

答案 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

您将获得一个全新的关于模型,用于接收具有正确命名空间的所有代码。