2017-06-27 2 views
0

Ich bin auf Laravel 5.4 und ich versuche, eine Registrierungsseite zu tun, aber Daten werden nicht in meiner Datenbank gesendet ... Und ich habe keinen Fehler. HierLaravel - Registrieren Sie keine Daten an die Datenbank senden

ist die Steuerung: (Generieren von Laravel)

namespace App\Http\Controllers\Auth; 

use App\User; 
use App\PostUser; 
use App\Http\Controllers\Controller; 
use Illuminate\Support\Facades\Validator; 
use Illuminate\Foundation\Auth\RegistersUsers; 

class RegisterController extends Controller 
{ 

    protected $primaryKey = "id_biodiv_acteur"; 
    protected $table = "acteur"; 

    use RegistersUsers; 

    protected $redirectTo = '/pages/users'; 

    public function __construct() 
    { 
     $this->middleware('guest'); 
    } 

    protected function validator(array $data) 
    { 
     return Validator::make($data, [ 
      'name' => 'required|string|max:255', 
      'surname' => 'string|max:255', 
      ...    
      'picture' => 'image' 
     ]); 
    } 

    protected function create(array $data) 
    { 
     return User::create([ 
      'nom' => $data['name'], 
      'prenom' => $data['surname'], 
      ... 
      'image' => $data['picture'] 
     ]); 
    } 
} 

Mein register.blade.php:

<div class="add-content container"> 

     <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 

     <h1>&bull; Ajouter un utilisateur &bull;</h1> 
     <div class="underline"></div> 

     <form action="{!! route('register') !!}" accept-charset="UTF-8" method="post" role="form"> 
      {!! csrf_field() !!} 
      <div class="column-left"> 

       <label class="has-float-label" for="name"> 
        <input class="" type="text" placeholder="" name="name" required> 
        <span>Nom</span> 
       </label> 

       <label class="has-float-label" for="password"> 
        <input class="" type="password" placeholder="" name="password" required> 
        <span>Mot de passe</span> 
       </label> 

       ... 

       <label class="has-float-label" for="picture"> 
        <input type="file" name="picture" multiple> 
        <span>Ajoutez des images</span> 
       </label> 
      </div> 
      <button type="submit" name="button">Enregistrer</button> 
     </form> 
    </div> 

Und ein Modell i mit dem Controller hinzugefügt (PostUser.php):

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Http\Request; 
use Illuminate\Support\Facades\Auth; 
use Illuminate\Auth\Events\Registered; 

class PostUser extends Model 
{ 

    public $timestamps = false; 
    protected $primaryKey = "id_acteur"; 
    protected $table = "acteur"; 

    protected $fillable = [ 
     'nom', 
     'prenom', 
     ... 
     'image' 
    ]; 
} 

Laravel erstellte Route für Register:

$this->get('register', 'Auth\[email protected]')->name('register'); 
$this->post('register', 'Auth\[email protected]'); 

Aber ich habe keine Funktion Anrufregister oder showRegistrationForm in RegisterController

+2

Ihr Modell 'PostUser' in Methode namens erstellen Sie sind mit' User' – omadonex

+0

uns wissen lassen, auf welchen Fehler angezeigt –

+0

@omadonex richtig ist, sehen Sie den Modellnamen und den Namen, den Sie einen Benutzer erstellen verwenden – Exprator

Antwort

1

Wenn route('register') zu [email protected] Methode geht, können Sie die vom Benutzer eingegebenen Daten im Request Parameter dieser Methode erhalten:

protected function create(\Illuminate\Http\Request $request) 
{ 
    return User::create([ 
     'nom' => $request->name, 
     'prenom' => $request->surname, 
     ... 
     'image' => $request->picture 
    ]); 
} 

Auch, wie in den Kommentaren erwähnt, müssen Sie User zu PostUser oder umgekehrt ändern.

+0

Ok i tat das, aber ich denke, es ist nicht die richtige Syntax, weil ich diesen Fehler habe: Parse-Fehler: Syntaxfehler, unerwartete '=>' (T_DOUBLE_ARROW), erwartet ',' oder ')' – TuxxyDOS

+0

Ich versuchte auch mit dieser Syntax: 'nom' => Anfrage ('Name'), aber es funktioniert nicht. Meine Route in der Post ist RegisterController @ Register und ich habe keine Funktionsaufrufregister in meinem RegisterController – TuxxyDOS

Verwandte Themen