본문으로 바로가기

블레이드에서의 주석

(블레이드는 또한 뷰에 주석을 정의할 수 있습니다. 하지만 HTML 주석과는 다르게 블레이드 주석은 애플리케이션이 반환하는 HTML에 포함되어 있지 않습니다.)

{{--$name--}}

 

삼항연산자

php
<?=isset($name)? $name : "Hello";?>



blase
{{ $name or "Hello"}}

 

조건문 

@if (count($records) === 1)
    I have one record!
@elseif (count($records) > 1)
    I have multiple records!
@else
    I don't have any records!
@endif

 

 

블레이드 안에서 변수 사용

<div style="float: left;">
	<select class="form-control form-control-sm" name="u_hour" >
		<option value="" >=시=</option>
		@for ($i = 0; $i < 24; $i++)
			@if (strlen($i) == 1)
				{{$HH = '0'.$i}}
			@else
				{{$HH = $i}}
			@endif
			<option value="{{$HH}}" @if ($users->u_hour == $HH) selected @endif >{{$HH}}시</option>
		@endfor
	</select>
</div>
<div style="float: right;">
	<select class="form-control form-control-sm" name="u_minute">
		<option value="">=분=</option>
		@for ($i = 0; $i < 60; $i++)
			@if (strlen($i) == 1)
				{{$MM = '0'.$i}}
			@else
				{{$MM = $i}}
			@endif
			<option value="{{$MM}}" @if ($users->u_minute == $MM) selected @endif >{{$MM}}분</option>
		@endfor
	</select>
</div>

 

블레이드 안에서 {{}}  안에 변수를 넣으면 출력까지 되는데,

아래 트릭을 사용해서 변수에 값만 할당 할수 있음

@if ($until_view = ($paginator->onEachSide * 2)-1) @endif


@if ($i = 0) @endif
@foreach ($users as $user)
	...
    @if ($i++) @endif
@endforeach

 

 

 

php 변수 사용 + JSON 사용

$users->in_val1는 Controller에 명시됨

데이터는 

{"data":[{"crm":"질문1","etc":"답1"},{"crm":"질문2","etc":"답2"},{"crm":"질문3","etc":"답3"},{"crm":"질문4","etc":"답4"}]}
//html (blade)

@if ($users->in_val1)
	@php
		$in_val1 = $users->in_val1;
		$output =  json_decode($in_val1, true);
		foreach ($output['data'] as $key => $value){
			echo '<tr>';
			echo '  <td>';
			echo $value['crm'];
			echo '  </td>';
			echo '  <td>';
			echo $value['etc'];
			echo '  </td>';
			echo '</tr>';
		}
	@endphp
@else
	<tr>
		<td colspan="2">
			추가 사항 없음
		</td>
	</tr>
@endif

 

 

컨트롤러에 정의된 배열 변수를 출력하기

title="@foreach ($cf->cf_route_inbound as $val) {{$val}} @if($loop->remaining>0)|@endif  @endforeach"

 

 

DB 컬럼중 JSON으로 입력된 데이터 출력

 

 

Controller.php 

$datarow

blade.php

@foreach (json_decode($datarow->jsoncolunm) as $jsonform)
	{{$jsonform->title}}
@endforeach

 

 

 

참조

https://laravel.kr/docs/8.x/blade

 

라라벨 8.x - 블레이드 템플릿

라라벨 한글 메뉴얼 8.x - 블레이드 템플릿

laravel.kr

 

 

라라벨 Blade에서 HTML이 표현이 안될때

 

{{ $text }} // <p>Lorem...</p>

위와 같은 경우 Laravel에서 HTML을 해석하지 않고 텍스트 그대로 출력 되는 경우가 발생

{!! $text !!} // Lorem...

 

 

 

'[ Web 관련 ] > Laravel' 카테고리의 다른 글

Laravel 로그 남기기  (0) 2021.06.23
Form Data 유효성 검사  (0) 2021.06.22
라라벨 sql 출력  (0) 2021.05.26
라라벨 암호화 복호화 (encrypt, decrypt)  (0) 2021.05.25
윈도우 10 라라벨 8 설치  (0) 2021.04.30