Laravel Blade : comparer la chaîne à l'objet
P粉797855790
2023-09-01 21:44:49
<p>Je rencontre un problème étrange lorsque je compare un objet à une chaîne dans un fichier lame Laravel. </p>
<p>J'ai une variable qui peut être une chaîne ("N/A") ou un objet en fonction du résultat de la requête de base de données, et j'ai la vérification conditionnelle suivante : </p>
<pre class="brush:php;toolbar:false;">@if ($a_string_name == 'N/A')</pre>
<p>Si un objet est renvoyé, pour la plupart des utilisateurs, cette condition échouera et l'exécution de l'instruction else continuera. </p>
<p>Mais pour un cas spécifique (je n'ai pas suffisamment d'informations pour dire comment reproduire cela), cette condition renvoie une erreur : </p>
<pre class="brush:php;toolbar:false;">La méthode IlluminateSupportCollection::__toString() doit renvoyer une valeur de chaîne</pre>
<p>Je n'arrive pas à comprendre ce qui ne va pas ou s'il s'agit d'un problème spécifique à Laravel/navigateur. </p>
<p>PHP v7.4.22, laravel v6.0</p>
Sur la base de votre question ci-dessus, je pense que vous souhaitez vérifier si une variable est définie avec une valeur donnée. Dans votre cas, essayez d'utiliser @if(isset($a_string_name)).
Nous utilisons généralement deux méthodes PHP pour vérifier les variables.
Comment vérifier si une variable est définie en PHP ? La fonction isset() vérifie si une variable est définie, ce qui signifie que la variable doit être déclarée et non NULL. La fonction renvoie vrai si la variable existe et n'est pas NULL, faux sinon.
Comment vérifier si une variable donnée est vide ? La fonction empty() vérifie si une variable est vide. La fonction renvoie false si la variable existe et n'est pas vide, sinon elle renvoie true. Les valeurs suivantes sont évaluées à null : 0.
J'espère que cela vous aidera.