2016-10-14 12 views
7

मैं लार्वेल के लिए नया हूं और मैं इसका आनंद ले रहा हूं। htmlspecialchars() expects parameter 1 to be string, object given (View: C:\wamp64\www\histoirevraie\resources\views\user\profile.blade.php)लैरवेल 5.3 - htmlspecialchars() पैरामीटर 1 स्ट्रिंग होने की अपेक्षा करता है

मैं इस साइट पर कुछ सवाल जाँच कर ली है, लेकिन मैं एक सवाल है कि मेरी समस्या का हल नहीं मिला है: एक सामाजिक मीडिया परियोजना पर काम कर जब मैं यह त्रुटि हुई।

यह है कि क्या मेरी 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')); 
    } 

कृपया मुझे इस समस्या को हल करने में मदद!

+2

शायद {{{}} 'के बीच कुछ चर एक वस्तु है? उन सभी को नियंत्रक में डंप करने का प्रयास करें। – xpuc7o

+1

'उपयोगकर्ता उपयोगकर्ता-> वेबसाइट 'संभवतः खाली है? यदि आप इसे स्ट्रिंग नहीं देते हैं तो 'url()' सहायक विधि आपको 'UrlGenerator' का _instance_ देगा। – jszobody

+0

@jszobody आप सही हैं। अपने answser कृपया – Prince

उत्तर

14

मुझे लगता है कि आपका $user->website खाली/खाली है।

आप url() helper method को देखें, तो Laravel एक उदाहरण वापस आ जाएगी UrlGenerator की अगर $path रिक्त है।

तो यदि आपके मामले में $user->website खाली है, तो आपको UrlGenerator वापस मिल जाएगा और इस प्रकार आपकी त्रुटि htmlspecialchars प्राप्त करने वाली वस्तु होगी।

एक सरल समाधान एक चेक के साथ अपने html हिस्सा रैप करने के लिए होगा:

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

मेरे मामले में, मैं एक समारोह ब्लेड फाइल के अंदर $brand->products() की तरह इस्तेमाल किया और यह सरणी लौट रहा था, thats क्यों मैं देख रहा था संदेश।

जब मैंने अपना कोड बदल दिया और स्ट्रिंग लौटा, तो त्रुटि समाप्त हो गई।

संबंधित मुद्दे