0
votes

Comment faire une variable vide s'il ne trouvera pas l'article?

J'ai des cours et j'ai un test de test pour la leçon. Je cherche un test particulier, qui existe pour une leçon et n'existe pas pour certaines leçons.

  • ma question est de savoir comment effectuer un test de variable comme une matrice vide s'il ne trouvera pas les données? xxx

    Je veux dire si le code ci-dessus n'existe pas, comment je vais l'affecter comme une matrice vide, je reçois une cause d'erreur pour certains cas, il ne trouve pas le Données, j'ai essayé de mettre du code à l'intérieur, essayez et ne m'a pas aidé!


2 commentaires

Ni FirstorFail () ni premier () , retournera un tableau. Est-ce vraiment ce que vous voulez?


Pouvez-vous montrer comment vous utilisez / tester les données I.e. Où vous testez pour voir s'il est vide?


4 Réponses :


3
votes

FirstOrFail CODE> devrait lancer une exception afin d'essayer de pouvoir le résoudre, une autre approche est la suivante:

$test = Test::where('level', 'medium')->where('lesson_id', $lesson->id)->first() ?? [];


0 commentaires

0
votes

Pour obtenir des données à partir de la base de données ou une matrice vide (collection) S'il n'y a pas de données de correspondance, vous pouvez utiliser get () code> fonction sur la requête Builder.

$test = Test::where('level', 'medium')
            ->where('lesson_id', $lesson->id)
            ->get();


0 commentaires

1
votes

FirstOrFail () Retour de la fonction premier élément trouvé, mais si l'élément n'existe pas, il propose une exception ModelNotFoundException . Je ne sais pas pourquoi vous voulez mettre un tableau vide ici, mais c'est une solution pour votre cas: xxx

solution Beter est de prendre null du résultat de la requête et Vérifiez-le si. Exemple: xxx

ou comme ça: xxx


0 commentaires

0
votes

Vous pouvez utiliser Exists () ou ne plus text () pour vérifier si des enregistrements existe ou non.

$test = Test::where('level', 'medium')->where('lesson_id', $lesson->id)->exists();


0 commentaires