J'essaie d'accéder à une colonne de table dans mon ItemController. Dans ce cas, je souhaite utiliser les valeurs de mon tableau + une chaîne concaténée pour le nom de la colonne.
ItemController.php ....
public function displayItems() {
$itemsList = array('Alpha','Bravo','Charlie','Delta');
//$results = returned mysql row here
return view('items', ['rs' => $results, 'items' => $itemsList]);
}
page.blade.php
@foreach ($items as $item)
//$item is used elsewhere too, so keep $item
{{$rs->$item.'_data'}}
@endforeach
Sortie désirée:
$rs->Alpha_data;
$rs->Delta_data;
etc
Comment puis-je définir dynamiquement une variable pour $ rs -> nom?
Essayez de faire ceci:
{{ $rs->${$item.'_data'} }}
Assez simple, utilisez simplement le. signe pour les concats en PHP
disons que vous récupérez un seul enregistrement "tâche", et cet enregistrement a des variables appelées "var1", "var2", "var3" ... jusqu'à "var16".
vous pouvez faire écho à ces variables dans votre fichier blade comme ceci:
@for($y=1; $y<=16; $y++)
{{ $task->{'var'.$y} }}
@endfor