2014-10-18 1 views
2

방금 ​​Laravel을 배우기 시작했으며 파일간에 값을 전달하는 것과 관련하여 약간의 문제가 있습니다.블레이드 파일에 배열 전달 및 값 액세스

경로 파일에는 다음과 같은 기능이 있습니다.

Route::get('/', function() 
{ 
    $data = [ 
     'first_name' => 'Jane', 
     'last_name' => 'Doe', 
     'email' => '[email protected]', 
     'location' => 'London']; 

    return View::make('hello')->with($data); 
}); 

나는라는 파일 hello.blade.php에 $data 배열을 전달하고있다. 그리고이 배열의 모든 값을 출력하고 싶습니다. 문제는 그것들을 반복 할 수 없어서 값을 출력 할 수 없다는 것입니다. 오류가 발생했습니다 정의되지 않은 변수 : 데이터.

여기 내 블레이드 파일입니다.

@extends('layouts.main') 
@section('content') 

    @foreach ($data as $item) 
     <li>{{{ $item }}}</li> 
    @endforeach 

@stop 

나는 내가 루트 파일이 return View::make('hello')->withData($data); 그런 짓을하고 작업을 얻을 수 있다는 것을 배웠습니다. 하지만 withData 같은 변수 이름을 추가하는 방법을 좋아하지 않습니다.

어레이 변수를 전달하고 블레이드 파일에서 액세스 할 수있는 방법이 있습니까?

감사합니다.

답변

3

연관 배열 인 단일 인수를 전달하면 Blade에 알려줍니다.이 배열의 키를 변수 이름으로 가져와 배열의 키 값에 해당하는 값을 만듭니다.

즉, 이제 'Jane'값이있는 변수 $first_name과 'Doe'값을 갖는 변수 $last_name 등을 볼 수 있습니다.

당신은 아이디어를 얻을

return View::make('hello') 
    ->with('first_name', 'Jane') 
    ->with('last_name', 'Doe'); 

하고있는 것과 같은 것입니다. 당신은 배열 자체를 전달하려는 경우

, 당신은 날 얘기를 해 : 야,이 배열을 가지고 주어진 이름으로 뷰에서 사용할 수 있도록 :

return View::make('hello')->with('data', $data); 

는 이제 전체 배열을 사용할 수 있습니다 보기에서 변수 $data.

+0

굉장! 알았다. 고맙습니다. – Isuru