me sale este error:
htmlspecialchars() expects parameter 1 to be string, object givenEstoy usando en el controlador:
$data = '{"pr":{"code":"1"},"ac":[[{"icon":"web","action":"link","url":"asd"}]]}' $newData = json_decode($data);Y lo envío a la vista como matriz: 'data' => $newData Y cuando trato de usar $data en la vista, me da ese error
Ya intenté usar $data->ac OR $data['ac'] pero sigue igual... ¿Ayuda, por favor?
Cuando usa un blade echo {{ $data }} , escapará automáticamente de la salida. Solo puede escapar de cadenas. En sus datos, $data->ac es una matriz y $data es un objeto, ninguno de los cuales se puede repetir como está. Debe ser más específico sobre cómo deben generarse los datos. El aspecto exacto depende completamente de lo que estés tratando de lograr. Por ejemplo, para mostrar el enlace, necesitaría hacer {{ $data->ac[0][0]['url'] }} (no estoy seguro de por qué tiene dos matrices anidadas, pero solo estoy siguiendo su estructura de datos) .
@foreach($data->ac['0'] as $link) <a href="{{ $link['url'] }}">This is a link</a> @endforeachsi su verdadera intención es enviar la matriz completa desde el html al controlador, puede usar el siguiente código:
de la hoja.php:
<input type="hidden" name="quotation" value="{{ json_encode($quotation,TRUE)}}">en el controlador
public function Get(Request $req) { $quotation = array('quotation' => json_decode($req->quotation)); //or return view('quotation')->with('quotation',json_decode($req->quotation)) }Podrías usar serialize
<input type="hidden" name="quotation[]" value="{{serialize($quotation)}}"> Pero la mejor manera en este caso es usar el método json_encode en su blade y json_decode en el controlador.