2016-07-21 5 views
0

Laravel 5 Blade 템플릿의 Model에서 html 컨트롤로 빈 문자열을 표시하려고합니다.모델에서 Laravel의 레이블로 빈 값로드 5 블레이드 템플릿

{!! 양식 :: 레이블 ('labelOccupation', $ mastermodel-> 직업, [ 'style'=> '배경색 : #BCBCBC']) !!}

{!! 양식 : 텍스트 ('textOccupation', $ mastermodel-> 직업, [ '스타일'=> '배경 색상 : #BCBCBC']) !}

모두 텍스트 및 레이블 컨트롤을 표시 할 수 있습니다 직업 분야의 가치. 그러나 값이 빈 문자열이면 레이블 컨트롤에 "직업"이라는 단어가 표시되지만 텍스트 컨트롤은 여전히 ​​비어있는 것으로 표시 될 수 있습니다.

레이블에 값을로드 할 때마다 모델에 빈 문자열이 있는지 확인해야한다는 의미입니까? 그런 경우를 다루는 다른 쉬운 방법은 없습니까?

양식에 라벨을 전달하기 전에 컨트롤러에이 방법을 수행 할 수 있습니다

답변

1

:

if(empty($mastermodel->occupation) { 
    $occupation_label = 'occupation'; 
} else { 
    $occupation_label = $mastermodel->occupation; 
} 

그런 다음 블레이드에 사용하도록 전달합니다

{!! Form::label('labelOccupation',$occupation_label,['style'=>'background-color:#BCBCBC']) !!} 

을 나는 그것을 할 수있는 가장 쉬운 방법이라고 생각 이것을 달성하십시오.

+0

예, 간단합니다. 이 경우, 블레이드 템플릿에있는 경우 축약어를 빈 것으로 확인하여 블레이드에 변수를 하나씩 전달할 필요가 없습니다. 어쨌든 솔루션이 있는지 확인하고 싶습니다. 그래서 새 모델을 사용할 때마다 빈 문자열 로직을 검사 할 필요가 없습니다. – mememoremore

+0

빈 문자열을 매번 검사하지 않기 위해 레이블 컨트롤을 텍스트 컨트롤로 대체하고 읽기 전용으로 설정합니다. {!! Form :: text ('textOccupation', $ mastermodel-> 직업, [ 'style'=> '배경색 : #BCBCBC', 'readonly']) !!} – mememoremore

관련 문제