2016-12-28 5 views
0

Я передаю массив объектов в JSON и пытаюсь получить доступ к нему в цикле Еогеаспа, но я получил ошибку «Попытка получить имущество не-объект»Проблема доступа к ресурсам в laravel 5.3?

JSON

{» i ": [{" name ":" Siddhesh mishra "," mobile ":" 7798645895 "," gender ":" M "}, {" name ":" Pratik pande "," mobile ":" 7798645891 " , "пол": "М"}]

Еогеасп петля

foreach ($request->i as $key => $insrtobj) { 
if($insrtobj->name && $insrtobj->mobile && $insrtobj->gender){ 
} 
else 
    $response = response()->json(['data'=>[], 'error'=>1, 'success'=>0,  'error_msg'=>'request with mandatory param','message'=>'check the input data']); 
} 

ответ

1

Laravel Объект запроса автоматически декодирует вход с помощью JSON json_decode, но она проходит true в качестве второго параметра для преобразования объектов в массивы. Таким образом, при доступе к json-данным из запроса вам нужно рассматривать его как ассоциативный массив, а не объект.

if ($insrtobj['name'] && $insrtobj['mobile'] && $insrtobj['gender']) { 
+1

Спасибо @patricus. Я действительно ценю твою помощь. – SaMeEr

0

Преобразовать вы JSON данные в виде массива и использовать его ...:

$arrData = json_decode(YOURJSONDATA, true); 
foreach ($arrData as $key => $insrtData) { 
//your rest of code... 
} 

Примечание: Если TRUE, возвращаемые объекты будут преобразованы в ассоциативные массивы. Docs

Смежные вопросы