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:\wamp64\www\histoirevraie\resources\views\user\profile.blade.php)
I have checked some questions on this site but I have not found a question that solves my problem.
this is what my profile.blade.php
is made of:
<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>
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'));
}
Kindly help me solve this problem!
I think your $user->website
is empty/blank.
If you look at the url()
helper method, Laravel will return an instance of UrlGenerator
if $path
is null.
So in your case if $user->website
is empty, you'd get UrlGenerator
back and thus your error about htmlspecialchars
getting an object.
One simple solution would be to wrap your html chunk with a check:
@if($user->website)
<li>
...
</li>
@endif
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With