Как я могу получить доступ к данным, хранящимся в формате JSON, используя приведения в Laravel? - PullRequest
0 голосов
/ 11 января 2019

Я ввел информацию в свою базу данных так:

public function addFlight(){
    Flight::create([
        'name' => 'Sidney',
        'address' => [
            'street' => 'Williams road',
            'suburb' => 'Parow'
        ]
    ]);
    return "Saved";
}

Итак, в моей базе данных адрес хранится как json, и я сделал это внутри моей модели:

protected $casts = [
    'address' => 'array'
];

То, что я хочу сейчас, - это получать информацию об адресе каждый раз, когда я выполняю рейсы. В настоящий момент у меня есть это:

public function getFlight(){
    $flights = Flight::all();
    foreach ($flights as $flight) {
        foreach($flight->address as $address){
            echo $address->street;
        }
    }
}

Как получить доступ к информации об адресе (улица и пригород)?

В настоящий момент, если я пытаюсь получить доступ к методу getFlights через url, я получаю следующую ошибку:

Trying to get property 'street' of non-object
...