我想知道为什么学费的条件会重复两次?我想要的是从数据库中检索数据。在我的视图中是不同ul列表中的两行列表,对应条件为3,如果是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 :(得分:2)
要比较PHP中的字符串,您需要==
(甚至===
,如果它们必须是同一类型的,那么它是安全敏感的,the PHP docs cover the difference)。
if($need->scholar_need == 'Tuition Fee'){
所有其他比较都需要做同样的事情。
您曾两次看到学费的原因是,只有一个=
,$need->scholar_need
被设置为值'Tuition Fee'
;其操作始终为true
。因此,每次发出第一个if()语句时都会发现这种情况属实(即“学费”)。