Laravel 5.3 - htmlspecialchars() 期望参数 1 为字符串
Laravel 5.3 - htmlspecialchars() expects parameter 1 to be string
我是 laravel 的新手,我很享受。在处理社交媒体项目时,我遇到了这个错误:htmlspecialchars() expects parameter 1 to be string, object given (View: C:\wamp64\www\histoirevraie\resources\views\user\profile.blade.php)
我查看了该网站上的一些问题,但没有找到解决我问题的问题。
这就是我的 profile.blade.php
的组成部分:
<ul class="profile-rows">
<li>
<span class="the-label">Last visit: </span>
<span class="the-value mark green">{{ \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $user->lastVisit)->diffForHumans(\Carbon\Carbon::now())}}</span>
</li>
<li>
<span class="the-label">Member since: </span>
<span class="the-value mark light-gray">{{ $user->created_at->format('F Y') }}</span>
</li>
<li>
<span class="the-label">Profile views: </span>
<span class="the-value mark light-gray">5146</span>
</li>
<li>
<span class="the-label">Living In: </span>
<span class="the-value">{{ $user->town }}</span>
</li>
<li>
<span class="the-label">Website: </span>
<span class="the-value"><a href="{{ url($user->website) }}">{{ $user->website }}</a></span>
</li>
</ul>
有关用户的所有信息均由控制器提供:
public function index($username){
$user = User::where('username', $username)->first();
return view('user.profile', compact('user'));
}
请帮我解决这个问题!
我认为你的 $user->website
是 empty/blank。
如果您查看 url()
helper method,Laravel 将 return UrlGenerator
的 实例 如果 $path
为空。
所以在你的情况下,如果 $user->website
是空的,你会得到 UrlGenerator
回来,因此你的错误关于 htmlspecialchars
得到一个对象。
一个简单的解决方案是用支票包裹你的 html 块:
@if($user->website)
<li>
...
</li>
@endif
就我而言,我在 blade 文件中使用了一个函数,例如 $brand->products()
,它返回数组,这就是我看到消息的原因。
当我更改代码并返回字符串时,错误消失了。
我得到这个是因为在我看来我使用 $errors->get('username')
来显示错误但 get()
returns 一个数组。切换到 $errors->first('username')
解决了这个问题。
我是 laravel 的新手,我很享受。在处理社交媒体项目时,我遇到了这个错误:htmlspecialchars() expects parameter 1 to be string, object given (View: C:\wamp64\www\histoirevraie\resources\views\user\profile.blade.php)
我查看了该网站上的一些问题,但没有找到解决我问题的问题。
这就是我的 profile.blade.php
的组成部分:
<ul class="profile-rows">
<li>
<span class="the-label">Last visit: </span>
<span class="the-value mark green">{{ \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $user->lastVisit)->diffForHumans(\Carbon\Carbon::now())}}</span>
</li>
<li>
<span class="the-label">Member since: </span>
<span class="the-value mark light-gray">{{ $user->created_at->format('F Y') }}</span>
</li>
<li>
<span class="the-label">Profile views: </span>
<span class="the-value mark light-gray">5146</span>
</li>
<li>
<span class="the-label">Living In: </span>
<span class="the-value">{{ $user->town }}</span>
</li>
<li>
<span class="the-label">Website: </span>
<span class="the-value"><a href="{{ url($user->website) }}">{{ $user->website }}</a></span>
</li>
</ul>
有关用户的所有信息均由控制器提供:
public function index($username){
$user = User::where('username', $username)->first();
return view('user.profile', compact('user'));
}
请帮我解决这个问题!
我认为你的 $user->website
是 empty/blank。
如果您查看 url()
helper method,Laravel 将 return UrlGenerator
的 实例 如果 $path
为空。
所以在你的情况下,如果 $user->website
是空的,你会得到 UrlGenerator
回来,因此你的错误关于 htmlspecialchars
得到一个对象。
一个简单的解决方案是用支票包裹你的 html 块:
@if($user->website)
<li>
...
</li>
@endif
就我而言,我在 blade 文件中使用了一个函数,例如 $brand->products()
,它返回数组,这就是我看到消息的原因。
当我更改代码并返回字符串时,错误消失了。
我得到这个是因为在我看来我使用 $errors->get('username')
来显示错误但 get()
returns 一个数组。切换到 $errors->first('username')
解决了这个问题。