Je configure ma première application Laravel 4 et l'appel de spec pour que les champs id soient varchar (36) et soit un UUID.Laravel 4 utilisant UUID comme clé primaire
En utilisant Eloquent, mes migrations pour une table d'échantillons ressemble à ceci:
Schema::create('users', function($table)
{
$table->string('id', 36)->primary;
$table->string('first_name', 50);
$table->string('last_name', 50);
$table->string('email')->unique();
$table->string('password', 60);
$table->timestamps();
$table->softDeletes();
});
Lorsque la table des utilisateurs est créé, le champ id est pas défini comme PK, ou unique. Il est défini comme varchar (36) NOT NULL.
Pourquoi cela se produit-il lorsque je lance la migration?
Ma question initiale était sur l'utilisation UUID, mais je sens résolu qu'en ajoutant à mon utilisateur modèle au cas où quelqu'un d'autre voit ce post:
protected $hidden = array('password');
protected $fillable = array('id', 'first_name', 'last_name', 'email', 'password');
Voici mon itinéraire pour ajouter un utilisateur (J'utilise une fonction pour créer l'UUID):
Route::post('signup', function()
{
$userdata = array(
'id' => gen_uuid(),
'first_name' => Input::get('first_name'),
'last_name' => Input::get('last_name'),
'email' => Input::get('email'),
'password' => Hash::make(Input::get('password'))
);
$user = new User($userdata);
$user->save();
return View::make('login/login')->with('userdata', $userdata);
});
-> primaire ou -> primaire()? –
OUI! Faites-en une réponse. – Jazzy
Quelle est la fonction que vous utilisez pour générer l'UUID? Est-il personnalisé ou intégré à Laravel? – Mike