[我在Laravel中有一个变量,它是一个数组,但是当我将其传递到另一个视图时,我无法对其进行“计数”或“ foreach”。
具有以下格式:
[{
"imp": 18,
"cantidad": 2,
"pre": 379.5,
"id": 62,
"preu": "345",
"marca_id": 4,
"nombre_item": "zapato",
"nombre_marca": "marca1",
"item_codigo": "1234-xxa",
"nombre_unidad": "NIU"
}, {
"imp": 18,
"cantidad": 2,
"pre": 136.400000000000005684341886080801486968994140625,
"id": 64,
"preu": "124",
"marca_id": 4,
"nombre_item": "farol",
"nombre_marca": "marca1",
"item_codigo": "3434-f",
"nombre_unidad": "NIU"
}]
我尝试过:
$detalle = json_decode ($detalle, true);
var_dump($detalle);
但是它返回null,我不知道发生了什么。
编辑:
EmailController.php(在这里我通过ajax帖子发送视图的变量,我发送的变量$ detalle是Eloquent de Laravel的数组。)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;
class EmailController extends Controller
{
public function enviaremail(Request $request)
{
$this->validate($request, ['email' => 'required|email']);
$data = array(
'email' => $request->email,
"numero" => $request->number,
"nf" => $request->nf,
"tienda" => $request->tienda,
"total" => $request->total,
"detalle" => $request->detalle,
"fechae" => $request->fechae,
"pdf" => $request->pdf
);
/* Mail::raw('Text', function ($message) use ($data) {
$message->to($data['email']);
$message->subject('Comprobante '.$data['nf'].'-'.$data['numero'].' Factura de '.$data['tienda']);
$message->from('[email protected]', 'Maks.uno');
}); */
Mail::send('venta.email', $data, function ($message) use ($data)
{
$message->to($data['email']);
$message->subject('Comprobante ' . $data['nf'] . '-' . $data['numero'] . ' Factura de ' . $data['tienda']);
$message->from('[email protected]', 'Maks.uno');
});
return;
}
}
这里是该视图的摘录,它将ajax变量发送到EmailController.php
$.ajax({
type: "POST",
url: "{{ route('enviaremail') }}",
data: {
"_token": "{{ csrf_token() }}",
"email": email,
"numero": number,
"nf": nf,
"tienda": ti,
"fechae": fe,
"total": tt,
"pdf": pdf,
"detalle": "{{ $det }}"
},
success: function(response) {
alert("Tu email fue enviado!")
}
});
它在email.blade.php(呈现EmailController.php变量的视图中),我想遍历数组或其他变量。
<?php
var_dump(json_decode($detalle, true));
我使用“ html_entity_decode”解决了]
$jsonText = $request->detalle;
$decodedText = html_entity_decode($jsonText);
$myArray2 = json_decode($decodedText, true);