Laravel 的 Blade:新行将 space 附加到之前的 echo
Laravel's Blade: New line appends space to former echo
我有 2 个字段 - 国家和城市 - 我想这样显示:国家、城市(逗号后有一个 space)。我现在能做到的唯一方法是将所有内容放在一行中:
<li>{{{ $obj->country }}}@if($obj->city){{{ ', '.$obj->city }}}@endif</li>
这真是可笑。
现在,假设我想让它变得可读:
<li>
{{{ $obj->country }}}
@if($edu->city)
{{{ ', '.$obj->city }}}
@endif
</li>
一旦第二个 echo 换行,整个字符串就会在 "Country" 之后显示 space:Country,City。
超级讨厌。有人知道如何防止这种行为吗?
你可以这样做
<li>
@if($edu->city)
{{{ $obj->country.', '.$obj->city }}}
@else
{{{ $obj->country }}}
@endif
</li>
我觉得可读性很强 :)
还有另一种方法:在您的模型中使用访问器。为简洁起见,我使用 PHP 的三元运算符 - 你可以更详细一点并使用 if/else.
public function getCountryAndCityAttribute() {
return $this->country . ($this->city ? $this->city : '');
}
那么,在您看来:
<li>{{{ $obj->country_and_city }}}</li>
我有 2 个字段 - 国家和城市 - 我想这样显示:国家、城市(逗号后有一个 space)。我现在能做到的唯一方法是将所有内容放在一行中:
<li>{{{ $obj->country }}}@if($obj->city){{{ ', '.$obj->city }}}@endif</li>
这真是可笑。
现在,假设我想让它变得可读:
<li>
{{{ $obj->country }}}
@if($edu->city)
{{{ ', '.$obj->city }}}
@endif
</li>
一旦第二个 echo 换行,整个字符串就会在 "Country" 之后显示 space:Country,City。
超级讨厌。有人知道如何防止这种行为吗?
你可以这样做
<li>
@if($edu->city)
{{{ $obj->country.', '.$obj->city }}}
@else
{{{ $obj->country }}}
@endif
</li>
我觉得可读性很强 :)
还有另一种方法:在您的模型中使用访问器。为简洁起见,我使用 PHP 的三元运算符 - 你可以更详细一点并使用 if/else.
public function getCountryAndCityAttribute() {
return $this->country . ($this->city ? $this->city : '');
}
那么,在您看来:
<li>{{{ $obj->country_and_city }}}</li>