Laravel 5.3 - htmlspecialchars() ожидает, что параметр 1 будет строкой

Я новичок в 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'));
    }

Пожалуйста, помогите мне решить эту проблему!


person Prince    schedule 14.10.2016    source источник
comment
Может быть, какая-то из переменных между {{ }} является объектом? Попробуйте сбросить их все в контроллер.   -  person xpuc7o    schedule 14.10.2016
comment
Возможно, $user->website пусто? Вспомогательный метод url() даст вам экземпляр UrlGenerator, если вы не дадите ему строку.   -  person jszobody    schedule 14.10.2016
comment
@jszobody ты прав. Опубликуйте свой ответ, пожалуйста   -  person Prince    schedule 14.10.2016
comment
в моем случае я дал объект внутри {{ }}   -  person Sagar Naliyapara    schedule 26.04.2017


Ответы (3)



В моем случае я использовал функцию внутри блейд-файла, такую ​​​​как $brand->products(), и она возвращала массив, поэтому я видел сообщение.

когда я изменил свой код и возвращаемую строку, ошибка исчезла.

person sh6210    schedule 24.05.2017

Я получил это, потому что, на мой взгляд, я использовал $errors->get('username') для отображения ошибок, но get() возвращает массив. Переключение на $errors->first('username') исправило это.

person brad    schedule 13.10.2018