我的if在Laravel中没有按预期显示。
这是在模型中:
public function getTags()
{
$tags = [];
foreach (Config::get('products.tags') as $tag) {
if ($this->$tag)
$tags[] = $this->getLabel($tag);
}
if ($this->extra_tag)
$tags[] = $this->extra_tag;
return $tags;
}
这在视图中:
@foreach($product->getTags() as $tag)
@if($this->$tag='bespoke shape')
<div class="tag-purple">
@else
<div class="tag-grey">
@endif
{{$tag}}</div>
@endforeach
我希望看到标签'定制形状'有紫色背景和其他标签有灰色背景。不幸的是,它们都有紫色背景。但是,标签的名称会正确显示。
您对我能做些什么能有所帮助吗?
答案 0 :(得分:0)
$this->tag='bespoke shape'
这不是您比较的方式,这是您分配值的方式。改为使用两个或三个等号来代替:$tag == 'bespoke shape'