루프의 부분 템플릿 @each
- @each : 블레이드의 @each 지시어을 사용하면 반복문을 하나의 줄로 구성할 수 있습니다
- 첫번째 인자는 배열이나 컬렉션의 각 요소를 렌더링하기 위한 부분적 뷰의 이름입니다. 두번째 인자는 반복 처리하는 배열이나 컬렉션이며 세번째 인수는 뷰에서의 반복값이 대입되는 변수의 이름입니다.
- @each 지시어에 네번째 인수를 전달할 수도 있습니다. 이 인자는 특정 배열이 비었을 경우 렌더링될 뷰를 결정합니다.
[출처]https://laravel.kr/docs/5.7/blade
실습 코드
resources/views/posts/index.blade.php
- 이전 포스팅에서는 include를 통해 파일을 호출하여 렌더링을 해주었습니다.
- 이번에는 @each를 이용하여 1번째 인자를 'posts.partials.post' 사용할 blade로 정하였고 하였고 두번째는 $posts 컬렉션을 정하였고 다음 세번째는 이들을 담아낼 변수 post를 정하였습니다.
@extends('layouts.app')
@section('title', ' Blog Posts')
@section('content')
@each('posts.partials.post', $posts ,'post' )
@endsection
resources/views/posts/partials/post.blade.php
<div>{{ $key }}.{{ $post['title'] }}</div>
결과
- @each를 통해 조금 더 쉽게 변수를 반복하여 컬렉션에 담겨 있는 title을 출력 시켜주었습니다.