Интересно, почему условие об оплате обучения повторяется дважды? Я хочу получить данные из базы данных. И, на мой взгляд, это список из двух строк в другом ul-list, который соответствует условию 3 if staments.
///table Need
id scholar_need
1 Tuition Fee
2 Books
public view(){
$needs = Need::all();
return view(view,compact('needs));
}
@foreach($needs as $need)
if($need->scholar_need = 'Tuition Fee'){
<label class="col-lg-3">
<ul class="list-unstyled">
<li>Tuition Fee</li>
<ul>
<li>Tuition</li>
<li>Miscellaneous</li>
<li>Projects</li>
</ul>
</ul>
</label>
}
elseif($need->scholar_need = 'Books'){
<label class="col-lg-3">
<ul class="list-unstyled">
<li>Books</li>
<ul>
<li>NoteBooks</li>
<li>Books</li>
<li>Magazines</li>
</ul>
</ul>
</label>
}
elseif($need->scholar_need = 'Clothing'){
<label class="col-lg-3">
<ul class="list-unstyled">
<li>Clothing</li>
<ul>
<li>Uniform</li>
<li>Personal</li>
<li>P.E.</li>
</ul>
</ul>
</label>
}
@endforeach
Это вывод моего кода.
<ul class="list-unstyled">
<li>Tuition Fee</li>
<ul>
<li>Tuition</li>
<li>Miscellaneous</li>
<li>Projects</li>
</ul>
</ul>
<ul class="list-unstyled">
<li>Tuition Fee</li>
<ul>
<li>Tuition</li>
<li>Miscellaneous</li>
<li>Projects</li>
</ul>
</ul>
Чтобы сравнить строки в PHP, вам нужно ==
(или даже ===
, если оба должны быть одного типа, это чувствительно к безопасности, документы PHP покрывают разницу).
if($need->scholar_need == 'Tuition Fee'){
То же самое необходимо сделать для всех других сравнений.
Причина, по которой вы дважды видели плату за обучение, заключается в том, что =
, $need->scholar_need
был установлен на значение 'Tuition Fee'
; работа которого всегда true
, Таким образом, условие находилось истинным для первого оператора if () каждый раз (т. Е. Здесь «плата за обучение»).
Других решений пока нет …