2016-08-13 3 views
0

Ich habe Tabelle dosen (iddosen, User_id, namadosen, notelpdosen, fotodosen usw.)Laravel 5.2 | Doppeleinfügungsdaten in einzelne Anforderung

I versuchen, einen Benutzer registrieren + Foto laden, aber es kam mit 2 Zeile eingefügt.

  1. alle Spalten sind Null, mit Ausnahme von "fotodosen"
  2. alle Zeilendaten hat, mit Ausnahme von "fotodosen".

Dies ist meine Methode:

public function store(CreateDosenRequest $request) 
{ 
    $user = User::create([ 
     'name' => $request->input('name'), 
     'username' => $request->input('username'), 
     'email' => $request->input('email'), 
     'password' => $request->input('password'), 
     'admin' => $request->input('admin'), 
    ]); 

     $dosen = Dosen::create([ 
     'iddosen' => $request->input('iddosen'), 
     'nipy' => $request->input('nipy'), 
     'namadosen' => $user->name, 
     'user_id' => $user->id, 
     'alamatdosen' => $request->input('alamatdosen'), 
     'notelpdosen' => $request->input('notelpdosen'), 
     'tempatlahirdosen' => $request->input('tempatlahirdosen'), 
     'tanggallahirdosen' => $request->input('tanggallahirdosen'), 
     'agamadosen' => $request->input('agamadosen'), 

    ]); 
     if ($request->hasFile('image')) { 
      $data = $request->input('image'); 
      $photo = $request->file('image')->getClientOriginalName(); 
      $destination = public_path() . '/uploads/'; 
      $request->file('image')->move($destination, $photo); 
      $data['fotodosen'] = $photo; 
      Dosen::create($data); 
} 

    return redirect('admin/dosen')->with('message', 'Data berhasil ditambahkan!');  

} 

Bitte meinen Code korrigieren

Antwort

1

Sie verwenden Dosen::create zweimal dort für eine neue Zeile für jede Nutzung. anhängen diese $ Daten Anfrage oder versuchen:

public function store(CreateDosenRequest $request) 
{ 
    $user = User::create([ 
     'name'  => $request->input('name'), 
     'username' => $request->input('username'), 
     'email' => $request->input('email'), 
     'password' => $request->input('password'), 
     'admin' => $request->input('admin'), 
    ]); 
    if ($request->hasFile('image')) { 
     $data  = $request->input('image'); 
     $photo  = $request->file('image')->getClientOriginalName(); 
     $destination = public_path() . '/uploads/'; 
     $request->file('image')->move($destination, $photo); 
     $data['fotodosen'] = $photo; 
    } 

    $dosen = Dosen::create([ 
     'iddosen'   => $request->input('iddosen'), 
     'nipy'    => $request->input('nipy'), 
     'namadosen'   => $user->name, 
     'user_id'   => $user->id, 
     'alamatdosen'  => $request->input('alamatdosen'), 
     'notelpdosen'  => $request->input('notelpdosen'), 
     'tempatlahirdosen' => $request->input('tempatlahirdosen'), 
     'tanggallahirdosen' => $request->input('tanggallahirdosen'), 
     'agamadosen'  => $request->input('agamadosen'), 
     'fotodosen'   => $photo, //you have to add it hear 

    ]); 

    return redirect('admin/dosen')->with('message', 'Data berhasil ditambahkan!'); 

} 
+0

diesen Fehler habe: 'preg_replace(): Parameter Mismatch, Muster ein String ist, während Ersatz ist ein array' – Ezra

+0

was wollen Sie in fotodosen speichern? Bildname? wenn ja, bitte update falls nicht bitte coporate. –