# Afficher des données dynamiquement dans une vue
# Depuis une route
Si par exemple vous voulez afficher une liste d'articles dans une vue qui sont dans une table articles.
Vous allez retourner dans une route : la vue qui va être affichée mais aussi des données avec elle :
use App\Models\Article;
Route::get('/news', function () {
return view('news', [
'articles' => Article::take(3)->latest()->get()
]);
});
Article est un modèle qui sert aux articles. Dans cet exemple, nous prenons take() les 3 derniers latest() articles dans la table et nous les affichons dans la vue.
<ul class="style1">
@foreach ($articles as $article)
<li class="first">
<h3>{{ $article->title }}</h3>
<p><a href="#">{{ $article->excerp }}</a></p>
</li>
@endforeach
</ul>
# Depuis un contrôleur
use App\Models\Article;
class ArticlesController extends Controller
{
public function show(Article $article) // Ou public function show($id)
{
// $article = Article::find($id); // Ou $article = Article::find($id);
return view('articles.show', ['article' => $article]);
}
public function index()
{
return view('articles.index', [
'articles' => Article::take(4)->latest()->get()
]);
}
}
# Liens utiles
Documentation de Laravel - Récupérer les résultats d'une table (opens new window)