Does not the Defect class exist?

0

I have the following error:

  

ReflectionException in Container.php line 731: Class App \ Defect does not exist

I'm using laravel 5.4, I've already checked everything out right.

Code: Defeito.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Defeito extends Model {

   protected $table = 'defeito';
   public $timestamps = false;

}

Code: Controller :

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use League\Flysystem\Exception;

class DefeitoController extends Controller 
{

    private $defeitos;

    public function __construct(Defei $defeitos) 
    {
        $this -> defeitos = $defeitos;
    }

    public function salvar(Request $request) {

      try {

        $defeito = new $this -> defeitos;
        $defeito -> assunto      =   $request -> input('assunto');
        $defeito -> duvida       =   $request -> input('duvida');
        $defeito -> satisfacao   =   $request -> input('satisfacao');
        $defeito -> contato      =   $request -> input('contato');

        $defeito->save();
        return response()->json(['status' => 1, 
                                'msg' => 'Defeito salvo com sucesso']);

      } catch (Exception $e ) {
        return response()->json(['status' => 0, 
                                 'msg' => 'Houve um erro ao salvar o defeito']);
      }
   }

}

Route: API

Route::post('clientes/salvar', 'ClienteController@salvar');

Route: Web

Route::get('/defeito', function () {
    return view('template/form-defeitos');
});
    
asked by anonymous 14.03.2017 / 23:36

1 answer

2

Import the Defect class into the Controler with the use operator

use App\Defeito;

In the constructor, correct the name of:

public function __construct(Defei $defeitos) {
      $this -> defeitos = $defeitos;
}

To:

public function __construct(Defeito $defeito) {
      $this -> defeito = $defeito;
}

If you are using DI in the constructor, you do not have to again extend the "new" class within the save method, since it was declared in the $ this-> defect object.

Fixed would look like this.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Defeito; //Verifique se é este o namespace correto

class DefeitoController extends Controller {

    private $defeito;

    public function __construct(Defeito $defeito) {
        $this -> defeito = $defeito;
    }

    public function salvar(Request $request) {

        try {

            $defeito -> assunto      =   $request -> input('assunto');
            $defeito -> duvida       =   $request -> input('duvida');
            $defeito -> satisfacao   =   $request -> input('satisfacao');
            $defeito -> contato      =   $request -> input('contato');

            $defeito->save();
            return response()->json(['status' => 1, 'msg' => 'Defeito salvo com sucesso']);

        } catch (\Exception $e ) {
            return response()->json(['status' => 0, 'msg' => 'Houve um erro ao salvar o defeito']);
        }
    }

}
    
15.03.2017 / 01:06