2017-04-04 133 views
1

我去這個錯誤:Laravel - 用htmlspecialchars()預計參數1爲字符串,給定對象

htmlspecialchars() expects parameter 1 to be string, object given 

我使用的控制器:

$data = '{"pr":{"code":"1"},"ac":[[{"icon":"web","action":"link","url":"asd"}]]}' 
$newData = json_decode($data); 

,我又把它發送到視圖作爲數組:'data'=> $ newData 而當我嘗試使用$數據進入視圖時,它給我那個錯誤

嘗試使用$ data-> ac或$ data ['ac']但仍然一樣... 請幫忙嗎?

+1

你能添加視圖的代碼嗎? – Hammerbot

+0

{{$ data}} =>就是這樣。 – Kiddo

+0

json_decode默認返回一個對象。使用'$ newData = json_decode($ data,TRUE);'爲一個數組 – nogad

回答

4

當您使用刀片回顯{{ $data }}它會自動轉義輸出。它只能逃避字符串。在您的數據中,$data->ac是一個數組,而$data是一個對象,它們都不能按原樣回顯。您需要更具體地瞭解如何輸出數據。這看起來完全取決於你想要完成什麼。例如要顯示你需要做的鏈接{{ $data->ac[0][0]['url'] }}(不知道爲什麼你有兩個嵌套數組,但我只是遵循你的數據結構)。

@foreach($data->ac['0'] as $link) 
    <a href="{{ $link['url'] }}">This is a link</a> 
@endforeach 
+0

像魅力一樣工作。謝謝。 – Kiddo

相關問題