Laravel 5.3 - htmlspecialchars()期望参数1为字符串

时间:2016-10-14 14:41:24

标签: php laravel-5.3

我是laravel的新手,我很享受。在处理社交媒体项目时,我收到了此错误: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'));
    }

有关用户的所有信息均由控制器提供:

Sub RemoveDuplicate()
    with range("B4:F99")
        .unmerge
        .removeduplicates column:=array(1,2)
    end with
End sub

请帮我解决这个问题!

3 个答案:

答案 0 :(得分:16)

我认为您的$user->website为空/空白。

如果查看url() helper method,如果UrlGenerator为空,Laravel将返回$path实例

因此,如果$user->website为空,那么您将获得UrlGenerator,从而获得有关htmlspecialchars获取对象的错误。

一个简单的解决方案是使用支票包装您的html块:

@if($user->website)
    <li>
        ...
    </li>
@endif

答案 1 :(得分:4)

在我的情况下,我在像$brand->products()这样的刀片文件中使用了一个函数,它正在返回数组,这就是我看到该消息的原因。

当我更改我的代码并返回字符串时,错误消失了。

答案 2 :(得分:1)

之所以得到这个,是因为我认为我正在使用$errors->get('username')来显示错误,但是get()返回了一个数组。切换到$errors->first('username')可以解决此问题。