[Laravel] Laravel blade loop

Devbaul·2021년 8월 8일
0

Laravel

목록 보기
7/22
post-thumbnail

blade @foreach/@forelse

실습 코드

routes/web.php

  • 기존에 $posts를 밖으로 빼 주었다.
  • 아래 Route의 use($posts)를 이용해 부모 변수를 사용 할 수 있습니다.
$posts = [
    1 => [
        'title' => 'Intro to Laravel',
        'content' => 'This is a short intro to Laravel',
        'is_new' => true,
        'has_comments' => true
    ],
    2 => [
        'title' => 'Intro to PHP',
        'content' => 'This is a short intro to PHP',
        'is_new' => false,
    ],
    3 => [
        'title' => 'Intro to Golang',
        'content' => 'This is a short intro to Golang',
        'is_new' => false,
    ]
];

Route::get('/posts', function() use($posts){
    return view('posts.index', ['posts' => $posts]);
});

resourse/views/posts/index.blade.php

@foreach

  • key => $post값
@extends('layouts.app')

@section('title', ' Blog Posts')

@section('content')

{{-- foreach--}}
    @foreach ( $posts as $key => $post )
        <div>{{ $key }}.{{  $post['title'] }}</div>
    @endforeach

@endsection

결과

@forelse

@extends('layouts.app')

@section('title', ' Blog Posts')

@section('content')

@forelse ($posts as $key => $post)

@if ($loop->even)
    <div>{{ $key }}.{{ $post['title'] }}</div>
@else
    <div style="background-color: silver">{{ $key }}.{{  $post['title'] }}</div>
@endif

@empty
    No posts found!
@endforelse    

@endsection
 

결과

TIP

@if($loop -> even)이라는 문구가 문에 들어왔을 겁니다.
이 문구는 현재 반복문이 짝수번째 인지 확인 이라는 의미이다.
이와 같은 속성이 여러가지가 있다. 아래 이미지로 첨부 할 테니 확인해 보자!

profile
자유로운 개발을 공부중

0개의 댓글