Jydon Mah
Jydon Mah

Reputation: 383

How to wrap array into string in laravel

How can i wrap my return array into string in laravel? Some thing like this

Laravel:

    $columnDefinitions = array();

    $columnDefinition = new \stdClass();
    $columnDefinition->label = "No";
    $columnDefinition->sortable = true;
    $columnDefinition->thClass = 'width-50';
    $columnDefinition->tdClass = 'text-center';
    //end add custom css
    $columnDefinitions["index_number"] = $columnDefinition;
    return $columnDefinitions;

Expected result

'[{
   apple: {
             label: "No"
             sortable: true
             tdClass: "text-center"
          }
}]'

Upvotes: 0

Views: 709

Answers (3)

Amin Shojaei
Amin Shojaei

Reputation: 6568

use this:

$columnDefinition = new stdClass();
$columnDefinition->label = "No";
$columnDefinition->sortable = true;
$columnDefinition->thClass = 'width-50';
$columnDefinition->tdClass = 'text-center';

$column = new stdClass;
$column->apple = $columnDefinition;

$finalArray = [$column];
//end add custom css
return json_encode($finalArray);

Upvotes: 0

Sehdev
Sehdev

Reputation: 5682

As per the Laravel Documentation you can directly send the json response from your method

The json method will automatically set the Content-Type header to application/json, as well as convert the given array to JSON using the json_encode PHP function:

return response()->json([
    // You can pass your array values here
]);

Laravel -> Http Responses -> Json Responses

Upvotes: 2

Helioarch
Helioarch

Reputation: 1188

seems like you are trying to make an array of object with an object attribute?

try this:

    $columnDefinitions = array();

    $columnDefinition = new \stdClass();
    $columnDefinition->label = 'No';
    $columnDefinition->sortable = true;
    $columnDefinition->thClass = 'width-50';
    $columnDefinition->tdClass = 'text-center';

    $appleDefinition = new \stdClass();
    $appleDefinition->apple = $columnDefinition;
    //end add custom css

    $columnDefinitions[] = $appleDefinition;
    return json_encode($columnDefinitions);

Upvotes: 0

Related Questions