want to get json file data from particular index in laravel blade file

422 Views Asked by At

I am new to php laravel kindly help me out to solve this proble.

This is json file api

"meals": [
    {
        "idMeal": "52771",
        "strMeal": "Spicy Arrabiata Penne",
        "strDrinkAlternate": null,
        "strCategory": "Vegetarian",
        "strArea": "Italian",
        "strInstructions": "Bring a large pot of water to a boil. Add kosher salt to the boiling water, then add the pasta. Cook according to the package instructions, about 9 minutes.\r\nIn a large skillet over medium-high heat, add the olive oil and heat until the oil starts to shimmer. Add the garlic and cook, stirring, until fragrant, 1 to 2 minutes. Add the chopped tomatoes, red chile flakes, Italian seasoning and salt and pepper to taste. Bring to a boil and cook for 5 minutes. Remove from the heat and add the chopped basil.\r\nDrain the pasta and add it to the sauce. Garnish with Parmigiano-Reggiano flakes and more basil and serve warm.",
        "strMealThumb": "https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg",
        "strTags": "Pasta,Curry",
        "strYoutube": "https://www.youtube.com/watch?v=1IszT_guI08",
        "strIngredient1": "penne rigate",
        "strIngredient2": "olive oil",
        "strIngredient3": "garlic",
        "strIngredient4": "chopped tomatoes",
        "strIngredient5": "red chile flakes",
        "strIngredient6": "italian seasoning",
        "strIngredient7": "basil",
        "strIngredient8": "Parmigiano-Reggiano",
        "strIngredient9": "",
        "strIngredient10": "",
        "strIngredient11": "",
        "strIngredient12": "",
        "strIngredient13": "",
        "strIngredient14": "",
        "strIngredient15": "",
        "strIngredient16": null,
        "strIngredient17": null,
        "strIngredient18": null,
        "strIngredient19": null,
        "strIngredient20": null,
        "strMeasure1": "1 pound",
        "strMeasure2": "1/4 cup",
        "strMeasure3": "3 cloves",
        "strMeasure4": "1 tin ",
        "strMeasure5": "1/2 teaspoon",
        "strMeasure6": "1/2 teaspoon",
        "strMeasure7": "6 leaves",
        "strMeasure8": "spinkling",
        "strMeasure9": "",
        "strMeasure10": "",
        "strMeasure11": "",
        "strMeasure12": "",
        "strMeasure13": "",
        "strMeasure14": "",
        "strMeasure15": "",
        "strMeasure16": null,
        "strMeasure17": null,
        "strMeasure18": null,
        "strMeasure19": null,
        "strMeasure20": null,
        "strSource": null,
        "strImageSource": null,
        "strCreativeCommonsConfirmed": null,
        "dateModified": null
    }
]
}

This is controller function to get api data

 public function random(){
    $random1 = Http::get('www.themealdb.com/api/json/v1/1/random.php')->json();
    return view('index',['random1'=>$random1]);
}

blade file to display data

 <figure>
    @foreach($random1  as $key => $randomMeal1)
       @for ($i = 1; $i < 20; $i++)
         {{$randomMeal1[0]['strMeasure1']}}
         {{$randomMeal1[0]['strIngredient1']}}
        <br>                                                            
       @endfor                                      
     @endforeach                                      
</figure>

in above file i am getting single data but I want to get multiple data in a loop.

Problem

I want to display data of api from 'strMeasure1' to 'strMeasure15' by using loop. how can I use loop..?

1

There are 1 best solutions below

0
Cesar Valdes On

try convert the response object as array like this:

{
$random1 = Http::get('www.themealdb.com/api/json/v1/1/random.php')->json();
$array_meals = $random1->meals[0];

// you can use a <for> for more data

   $meals_array_props = (array) $array_meals;
   //this convert a object into a array representation of the object
   //now you can iterate the object as an array
}