Отображение значений столбца с помощью оператора if в laravel

Интересно, почему условие об оплате обучения повторяется дважды? Я хочу получить данные из базы данных. И, на мой взгляд, это список из двух строк в другом 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>

0

Решение

Чтобы сравнить строки в PHP, вам нужно == (или даже ===, если оба должны быть одного типа, это чувствительно к безопасности, документы PHP покрывают разницу).

if($need->scholar_need == 'Tuition Fee'){

То же самое необходимо сделать для всех других сравнений.

Причина, по которой вы дважды видели плату за обучение, заключается в том, что =, $need->scholar_need был установлен на значение 'Tuition Fee'; работа которого всегда true, Таким образом, условие находилось истинным для первого оператора if () каждый раз (т. Е. Здесь «плата за обучение»).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]