Laravel: un une seule valeur à partir d'une requête MySQL

Je suis en train d'essayer d'obtenir une valeur unique de base de données MySQL à l'aide de laravel, mais le problème, je vais obtenir un tableau . c'est mon résultat de la requête à MySQL en ligne de commande:

select groupName from users;

+-----------+
| groupName |
+-----------+
| Admin     |
+-----------+

mon laravel fonction:

public static function PermitAddNewUser(){
    $username=Session::get('key');
    $data=DB::select("select groupName from users where username='$username';");
    return $data; 
}

prévus de données de la valeur est une chaîne de caractères avec la valeur= Admin

mais ce que je reçois est : [{"groupName":"Admin"}]

  • C'est la chose drôle au sujet des bases de données, tables se composent de lignes et de colonnes, tout comme un tableau.... if (!empty($data)) { return $data[0]->groupName; } return null;
  • Maintenant, pourquoi êtes-vous à l'aide de son Éloquence, mais pour ne pas profiter des avantages d'un ORM, mais simplement de l'écriture de requêtes comme vous le feriez sans un ORM?
  • $data = DB::table('users')->where('username', $username)->pluck('groupName');
  • merci beaucoup ça fonctionne bien comme ça return $data[0]->nom de groupe;
  • oui à l'aide de la seconde manière d'utiliser l'ORM aussi, beau travail ,vous êtes génial .
  • Que faire si je reçois undefined offset?? surtout quand je veux gérer plusieurs colonnes. L'erreur vient du zéro dans $data[0]
  • Si vous obtenez cette erreur, c'est parce que les documents n'ont été renvoyés par la requête de base de données
  • mais si vous avez une question à poser, poser une question; non pas comme un commentaire sur quelqu'un d'autre de 8 mois en question