Я пытаюсь добавить промежуточное программное обеспечение после приложения, чтобы добавить метки времени и другую информацию к своим вызовам API. Я правильно настроить свои маршруты, как он достигнет моего промежуточного ПО правильно, но когда я достигаю среднего изделия, выдается ошибка, которая является:Послепродажное промежуточное ПО не запускается Laravel
вызов функции члена положить() на не-объект
И мой промежуточный слой имеет следующий код:
public function handle($request, Closure $next)
{
$response = $next($request);
if($response->headers->get('content-type') == 'application/json')
{
$collection = $response->original;
//dd($collection);
$collection->put('timestamp', date("Y-m-d H:i:s"));
$response->setContent($collection);
}
return $response;
}
Я пытался д.д. ($ коллекции), но возвращают объекты, которые должны быть возвращены, так что я понятия не имею, что это неправильно. Может ли кто-нибудь указать мне правильное направление?
Спасибо!
Когда вы делали dd() в коллекции, какой тип был? Видимо, не объект –
Нам нужна дополнительная информация, чтобы помочь здесь. Можете ли вы запустить get_class как для объекта '$ response', так и для' $ response-> original'? Когда я пытаюсь это сделать в Laravel 5.1, '' response-> original' не существует для ответов json ('return Response :: json ([])'), поэтому он генерирует смертельный исход. '$ response-> original' является' Illuminate \ View \ View' для стандартного ответа в Laravel. Так что не может помочь без дополнительной информации. –
@ jedrzej.kurylo по-видимому, он возвращается как массив: ' массива: 2 [ 1 => Entity {# 235} 2 => Entity {# 228} ] ' –