IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

[Laravel] Cherche info sur model


Sujet :

Laravel PHP

  1. #1
    Membre � l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    F�vrier 2018
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Assistant aux utilisateurs

    Informations forums :
    Inscription : F�vrier 2018
    Messages : 4
    Par d�faut [Laravel] Cherche info sur model
    Bonjour,

    Je d�bute sur Laravel et sur le d�veloppement en g�n�ral. J'ai fait du php il y a 20 ans...

    Je me suis donc pench� sur un projet pour le moins fictif pour mon organisation.

    J'ai quelque chose de fonctionnelle mais je me pose des questions sur l'optimisation. Je pense qu'en effet il y a beaucoup plus simple a faire.

    Voici ma probl�matique.

    J'ai un controllers qui permet de se connecter uniquement via google ( Mon organisation est compl�tement d�pendante de google Workspace )

    J'ai ajout� une r�gle sur le domaine pour que seulement les utilisateur avec le domaine de mon organisation puisse acc�der a l'application. [email protected]c

    Dans un second temp je r�cup�re le Magasin et le compare a des donn�e dans la table magasin afin d'enregistr� l'utilisateur. Le probl�me est maintenant ici :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    // Recuperation des infos Magasins
                    $magasins = Magasin::where("domaine", $elements2[0])->first();
                    if (!isset($magasins)) 
                        {
                        // Redirection de l'utilisateur si magasin non present dans la table magasin
                        return redirect('BugContact'); 
                        }
     
                    //Generation D'un mot de passe Aléatoire
                    $length = 10;
                    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                    $randomString = '';
                    for ($i = 0; $i < $length; $i++) 
                        {
                        $index = rand(0, strlen($characters) - 1);
                        $randomString .= $characters[$index];
                        }
     
                    // Enregistrement de l'utilisateur
                    $user = User::create(
                        [
                        'name' => $name,
                        'email' => $email,
                        'password' => bcrypt($randomString), // On attribue un mot de passe
                        'magasin' => $magasins->getnom_magasin(),
                        'magasin_IDENT' => $magasins->getident(),
                        'TypeCompte' => $magasins->gettype_de_compte(),
                        'Droit' => $magasins->getdroit_compte(),
                        'Avatar' => $avatar,
                        ]);
                }
    Le souci c'est que je vient du coup faire 4 requ�te sur la table magasins.

    J'ai �t� contrait d'ajouter dans le model les lignes suivante :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    namespace App\Models;
     
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Notifications\Notifiable;
    use Laravel\Sanctum\HasApiTokens;
     
     
    class Magasin extends Model
    {
     
     
    public function getident()
    {
        return $this->ident;
    }
    public function getnom_magasin()
    {
        return $this->nom_magasin;
    }
    public function gettype_de_compte()
    {
        return $this->type_de_compte;
    }
    public function getdroit_compte()
    {
        return $this->droit_compte;
    }
     
    }
    Je pense que je me complique la tache.

    Malheureusement je ne trouve pas de documentation tr�s clair sur l'utilisation des mod�le.

    Pouvez vous me donner une piste ?

    Merci.

    Pour info j'ai enregistrer mon projet sur github : https://github.com/AMPROU/Btlecouest/

  2. #2
    Mod�rateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activit� : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par d�faut
    Bonjour,
    Le model de Lravel repose que des conventions.
    Si vous repsectez ces conventions, alors il est inutile de cr�er des getters comme vous le faites.

    J'ai juste un doute sur le ident (est-xe bien le id de la table ?).

    sinon il suffit de faire ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    namespace App\Models;
     
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Notifications\Notifiable;
    use Laravel\Sanctum\HasApiTokens;
     
     
    class Magasin extends Model
    {
        protected $primarykey = "ident"; 
    }
    dans le code

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $user = User::create(
                        [
                        'name' => $name,
                        'email' => $email,
                        'password' => bcrypt($randomString), // On attribue un mot de passe
                        'magasin' => $magasins->nom_magasin(),
                        'magasin_IDENT' => $magasins->ident(),
                        'TypeCompte' => $magasins->type_de_compte(),
                        'Droit' => $magasins->droit_compte(),
                        'Avatar' => $avatar,
                        ]);

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. cherche infos sur utilisation port usb
    Par pcouas dans le forum Entr�e/Sortie
    R�ponses: 0
    Dernier message: 03/09/2009, 08h18
  2. R�ponses: 11
    Dernier message: 26/02/2007, 09h44
  3. Cherche info sur la Zend Platform
    Par developpeur_mehdi dans le forum Zend
    R�ponses: 1
    Dernier message: 14/01/2007, 13h53
  4. Cherche infos sur PySql
    Par systemofaxav dans le forum Langage SQL
    R�ponses: 2
    Dernier message: 23/11/2006, 15h04
  5. [Histoire] Cherche infos sur l'�volution des SGBD
    Par jack554 dans le forum D�cisions SGBD
    R�ponses: 9
    Dernier message: 12/10/2005, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo