Декодирование laravel 4 Вход :: json ()

Мне сложно записывать json-вход в laravel. Я создаю Restful API и когда я отправляю данные post с помощью RestClient, а затем умираю и сбрасываю в laravel, я получил

object(Symfony\Component\HttpFoundation\ParameterBag)#205 (1) { ["parameters":protected]=> array(6) { ["firstName"]=> string(8) "John" ["lastName"]=> string(7) "Doe" ["bloodGroup"]=> string(2) "B+" ["phone"]=> string(8) "+9999999" ["address"]=> string(8) "Somecity" ["symptoms"]=> string(3) "Bla" } } 

Теперь я привязался к доступу к данным, используя

 $data = Input::json(); echo $data->firstName; 

что не работает .. пытался преобразовать его в массив, а затем получить доступ, как $data['firstName'] не работает.

 array(1) { ["*parameters"] => array(6) { ["firstName"]=> string(8) "John" ["lastName"]=> string(7) "Doe" ["bloodGroup"]=> string(2) "B+" ["phone"]=> string(8) "+9999999" ["address"]=> string(8) "Somecity" ["symptoms"]=> string(3) "Bla" } } 

Я хочу, чтобы декодировать данные, а затем сохранить его в db. Вот учебник, похожий на приложение.

Я пробовал метод post_index (), описанный здесь, но не повезло.

http://maxoffsky.com/maxoffsky-blog/building-restful-api-in-laravel-part-2-design-api-controller/

Вы можете использовать ->get() для доступа к свойствам из ответа Symfony\Component\HttpFoundation\ParameterBag .

 $input = Input::json(); $input->get('firstName') 

Вы также можете получить все входы в виде массива, а затем ввести приведение объекта в объект (object) . Обратите внимание, что это приведет к ошибке, если ваше свойство не существует, поэтому, если я, где вы, я бы использовал метод ->get() упомянутый выше.

 $input = (object)Input::all(); $input->firstName; 

Основываясь на моем эксперименте

Если вы отправляете массив из нескольких объектов, таких как следующий пример из Javascript, используя JSON

 [{crop_id: 1, test_id: 6},{crop_id: 1, test_id: 7},{crop_id: 1, test_id: 8}] 

Вам нужно использовать функцию Input :: json () -> all () в PHP.

 $arr = Input::json()->all(); $crop_id = $arr[0]['crop_id']; $test_id = $arr[0]['test_id'];