8
votes

Laravel @foreach - argument invalide fourni

Je suis très nouveau à Laravel et PHP, essayant simplement de répertorier tous les utilisateurs de mon fichier de vue comme ceci: xxx

mais obtenir une erreur qui dit "argument non valide fourni pour Foreach () '

dans mon contrôleur, j'ai la fonction suivante: xxx

Qu'est-ce que je fais mal?


0 commentaires

3 Réponses :


14
votes

$ utilisateurs n'est pas défini dans votre contrôleur, mais $ utilisateur est. Vous essayez de @foreach sur une variable qui correspond littéralement à la chaîne '$ utilisateurs' . Changement: xxx

à: xxx

et retirez les guillemets simples autour de $ utilisateurs : : : xxx


2 commentaires

NP, heureux d'avoir pu aider


Jeff c'est vraiment utile



3
votes

La réponse ci-dessus est correcte, mais étant donné que d'autres peuvent avoir la même erreur (ce qui signifie essentiellement que la variable que vous avez fournie à Foreach n'est pas un tableau) dans un contexte différent, permettez-moi de donner ceci comme une autre cause:

- Lorsque vous avez une relation éloquente (probablement une HASMANY) qui a le même nom que le même nom que le modèle éloquent, et que vous souhaitez faire boucler les éléments de la relation à l'aide d'un forach. Vous penserez que vous êtes en boucle à travers la relation mais que Laravel traite le domaine comme ayant une priorité plus élevée que la relation. La solution consiste à renommer votre relation (ou champ, quel que soit le cas).


2 commentaires

Quelle belle réponse. Je viens de surmonter mon problème.


Heureux que vous ayez trouvé cela utile!



0
votes

Code:

foreach ($allresults as $key => $vl) {
    foreach ($vl as $vll) {
        print_r($vll->customerid);
    }
    break;
}


1 commentaires

S'il vous plaît Modifier Votre réponse Pour inclure une explication de la manière dont cela fonctionne et pourquoi c'est la solution au problème décrit dans la question. Voir Comment répondre .