2017-08-03 1 views
0

Ich bin gerade neu bei Laravel 5.4 und versuche ein Registrierungsformular zu erstellen, das validiert und in der Bewerberliste ablegt und es heißt, Call to a member function create() auf null. heres mein Code:Laravel FatalThrowableError Aufruf an eine Memberfunktion create() bei null, wenn ich einen neuen Bewerber erstellen wollte

private $applicantRepository; 

    public function repo(ApplicantRepository $applicantRepo) 
    { 
     $this->middleware('auth'); 
     $this->applicantRepository = $applicantRepo; 
    } 

public function store(CreateApplicantRequest $request) 
    { 
     $input = $request->all(); 

     $applicants = $this->applicantRepository->create([ 
      'name' => $input['name'], 
      'email' => $input['email'], 
      'password' => bcrypt($input['password']), 
      'address' => $input['address'], 
      'cellphone_no' => $input['cellphone_no'] 
     ]); 

     Flash::success('Cashier saved successfully.'); 

     return redirect(route('applicants/home')); 
    } 
+4

'public function repo'? Vielleicht meinst du "__construct"? –

+1

Ich denke, Sie können private $ bewerberRepository ändern; zu schützen $ AntragstellerRepo; und benennen Sie öffentliche Funktion Repo in öffentliche Funktion __construct und versuchen Sie es –

+1

Sie initialisieren diese Variable nicht so, was Sie erwarten? die Ausgabe ist korrekt – aaron0207

Antwort

0

ich glaube, Sie __construct erklären sollten, wenn Sie Konstruktor machen wollen, damit Ihre repo Funktion werden wird:

public function __construct(ApplicantRepository $applicantRepo) 
    { 
     $this->middleware('auth'); 
     $this->applicantRepository = $applicantRepo; 
    } 
Verwandte Themen