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.
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é! p> p>
4 Réponses :
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() ?? [];
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();
solution Beter est de prendre ou comme ça: p> FirstOrFail () code> Retour de la fonction premier élément trouvé, mais si l'élément n'existe pas, il propose une exception
ModelNotFoundException code>. Je ne sais pas pourquoi vous voulez mettre un tableau vide ici, mais c'est une solution pour votre cas:
null code> du résultat de la requête et Vérifiez-le si. Exemple: p>
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();
Ni
FirstorFail () code> ni
premier () code>, 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?