Je construis un site de Laravel. Je souhaite soumettre des données de formulaire pour exécuter une requête et les résultats à insérer dans un format de tableau. J'utilise Oracle DB et je l'ai connecté à Laravel. De plus, j'ai créé le formulaire et la requête donne les résultats corrects. Ce que je ne peux pas faire, c'est passer des résultats dans la table avec succès.
Mes fichiers sont les suivants: p>
1) routtes.php (ou web.php pour les nouvelles versions de Laravel): p> 2) la Search.blade.php (qui est le formulaire avec la méthode postale) p> 3) mon contrôleur (NewController.php) qui exécute la requête. Les résultats sont affichés corrects, mais dans un format de liste. Je veux les mettre dans un format de table. P> Je veux être transmis à une autre lame appelée Pinakas.blade.php qui devrait ressembler à ce qui suit. Comment puis je faire ça? p>
6 Réponses :
Vous devez parcourir vos résultats avec @Foreach code>:
Si je le fais pour que je reçois cette erreur: Propriété indéfinie: STDCLASS :: $ AM (Vue: C: \ Xampp \ htdocs \ Laravel \ Ressources \ Vues \ Pinakas.blade.php)
Pour transmettre les données dans la lame, c'est la meilleure approche. dans la vue de la lame P> @if(!empty($entries))
@foreach($entries as $entry)
<tr class="warning" >
<td >{{ $entry->AM}}</td>
<td >{{ $entry->ST}}</td>
<td >{{ $entry->CS}}</td>
<td >{{ $entry->REGYEAR}}</td>
<td >{{ $entry->role_name }}</td>
<td >{{ $entry->created_at }}</td>
<td ></td>
.............
</tr>
@endforeach
@endif
Je l'ai fait comme vous avez suggéré (
Essayez ceci
public function psaxe(Request $request) { $myVar=$request->get('AM'); $entries=DB::table('SCC_ANSWER')->where('AM',$myVar)->get(); return view('view_file_location')->with('entries' => $entries); }
Malheureusement, la variable ne passe pas à la lame.
@Konstantinos pouvez-vous essayer cela. Vue de retour ('View_file_Location', $ entrées); code>
Cela me donne à nouveau une variable non définie: entrées1 (vue: c: \ xampp \ htdocs \ laravel \ ressources \ vues \ pinakas.blade.php)
Nous passons $ entrées code> pas
$ entrées1 code>, s'il n'est pas utile, veuillez supprimer ou passer à
$ entrées code>.
J'ai la solution complète ci-dessous! Je l'ai corrigé.
Si ma réponse est utile, veuillez accepter et élever ma réponse, car vous avez utile pour les autres personnes.
@foreach($entries as $entry) <tr> ...
Mais qu'est-ce qui n'a pas fonctionné alors? Pourriez-vous partager un message d'erreur? La seule raison pour laquelle cela ne fonctionnerait pas est chaque fois que les données ne sont pas formatées comme une collection ou une matrice.
Je devrais mettre à jour les pinakas.blade car il ne pouvait pas être peuplé et utiliser des missions minuscules. Je ne savais pas que c'était sensible à la casse ... . Ci-dessous, vous pouvez voir la solution dans l'ensemble. Je l'ai testé et ça marche et je l'ai dit au cas où quelqu'un a les mêmes problèmes à l'avenir. Merci beaucoup pour votre aide!
Lorsque vous passez des informations de cette manière, les données doivent être une matrice avec des paires de clés / valeur. À l'intérieur de votre vue, vous pouvez ensuite accéder à chaque valeur à l'aide de sa clé correspondante, telle que Vue de retour ('Salutations', ['Nom' => 'Victoria']); Code> P>
PHP Echo $ clé; ?> code>. Comme alternative à la transmission d'une gamme complète de données à la fonction d'aide à la vue, vous pouvez utiliser la méthode avec la méthode pour ajouter des pièces de données individuelles à la vue P>
Merci à tous pour vos conseils. Le problème était la majuscule que j'utilisais dans la lame! J'ajouterai ci-dessous les extraits au cas où une autre personne ait un problème pertinent dans les projets futurs:
1) routes.php (ou web.php pour les versions de Laravel plus récentes): p> 2) recherche.blade.php p> 3) contrôleur (newcontroller.php) p> 4) la lame (pinakas.blade.php) p> 5) et les pagesController.php p>
La base de données est ok. Cela fonctionne bien et la requête donne les résultats. Je ne sais pas comment transmettre des données du contrôleur à la lame. $ Les entrées doivent aller à Pinakas.blade et inséré dans la table.