问题描述
我是 Laravel 的新手,我很喜欢它.在处理社交媒体项目时,我收到此错误:htmlspecialchars() 期望参数 1 为字符串,给定对象(视图:C:wamp64wwwhistoirevraieesourcesviewsuserprofile.blade.php)
I am new to laravel and I am enjoying it. While working on a social media project I got this error: htmlspecialchars() expects parameter 1 to be string, object given (View: C:wamp64wwwhistoirevraieesourcesviewsuserprofile.blade.php)
我在这个网站上检查了一些问题,但我没有找到解决我问题的问题.
I have checked some questions on this site but I have not found a question that solves my problem.
这是我的 profile.blade.php 的组成:
<ul class="profile-rows"> <li> <span class="the-label">Last visit: </span> <span class="the-value mark green">{{ CarbonCarbon::createFromFormat('Y-m-d H:i:s', $user->lastVisit)->diffForHumans(CarbonCarbon::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>
有关用户的所有信息均由控制器提供:
All the information about the user are given by a controller:
public function index($username){ $user = User::where('username', $username)->first(); return view('user.profile', compact('user')); }
请帮我解决这个问题!
推荐答案
我认为你的 $user->website 是空的/空白的.
I think your $user->website is empty/blank.
如果您查看 url() 辅助方法,如果 $path 为空,Laravel 将返回 UrlGenerator 的实例.
If you look at the url() helper method, Laravel will return an instance of UrlGenerator if $path is null.
所以在你的情况下,如果 $user->website 是空的,你会得到 UrlGenerator 回来,因此你关于 htmlspecialchars 的错误得到一个对象.
So in your case if $user->website is empty, you'd get UrlGenerator back and thus your error about htmlspecialchars getting an object.
一个简单的解决方案是用检查包裹你的 html 块:
One simple solution would be to wrap your html chunk with a check:
@if($user->website) <li> ... </li> @endif