Reputation: 893
How can i convert this Laravel collection array to json format like below.
//All records from users table.
$users = DB::table('users')->get();
// Required json format.
return '{
"data": [
{
"DT_RowId": "row_1",
"id": "Tiger",
"clear": "Nixon",
"fsssf": "System Architect",
"tex": "[email protected]",
"created_at": "Edinburgh",
"updated_at": "Edinburgh"
},
{
"DT_RowId": "row_2",
"id": "Tiger",
"clear": "Nixon",
"fsssf": "System Architect",
"tex": "[email protected]",
"created_at": "Edinburgh",
"updated_at": "Edinburgh"
}
],
"options": [],
"files": []
}';
Sorry for the basic question,but i am unable to convert this into this jso.
Upvotes: 15
Views: 71207
Reputation: 841
in Laravel you can easily serialize your php object like so :
public static function getLocataireByCin($cin)
{
return Locataire::where('cin', $cin)
->first()
->toJson(JSON_PRETTY_PRINT);
}
and then retrieve it on your frontEnd (using js/jquery for example ) :
$("#cinLocataire").keyup(function () {
$.ajax({
url: "{{ route('Caisse.store') }}",
type: "POST",
data: {
cin: $(this).val()
},
success: function (locataireData) {
var locataire = JSON.parse(locataireData); // <-- here
console.log(
locataire.nom
);
},
})
});
Upvotes: 0
Reputation: 1489
Couple of things you can do, you can use default method ->toJson() with the user collection like this
$users = DB::table('users')->get();
$users->toJson();
If you do have troubles with it them you can php build in json_encode method here is the full documentation http://php.net/manual/en/function.json-encode.php
$users = DB::table('users')->get();
json_encode($users)
Hope this helps!
Upvotes: 3
Reputation: 1698
add "use Response;"
return Response::json([
'data' => $value
], 200);
hope this helps!
Upvotes: 5
Reputation: 1609
Have a look at the documentation.
You can use toJson(),to convert the collection to json object.
$users = DB::table('users')->get()->toJson();
dd($users);
You can also can do this in simple php way by using json_encode function
$users = json_encode($users);
Have a look at this link
Greetings and happy coding!
Upvotes: 38
Reputation: 41310
If you are looking into doing if for a blade template you can use the @json
Blade directive, like so:
<script type="text/javascript">
var PARAMS = @json($params)
</script>
P.S.Tested in Laravel 5.6
Upvotes: 13