#php #json #laravel #model #controller
Вопрос:
Я пытаюсь извлечь все строки таблицы из своей базы данных в функции модели. Затем я пытаюсь вызвать эту функцию из своего контроллера.
Он возвращает пустой массив. Если я помещу код модели непосредственно в свой контроллер, он будет работать, я получу все строки и данные в формате json.
Почему, когда я вызываю функцию из своего контроллера, она возвращается пустой?
Модель
lt;?php namespace App; use IlluminateDatabaseEloquentModel; class circuits extends Model { protected $fillable = [ 'circuitId', 'circuitRef', 'name', 'location', 'country', 'lat', 'lng', 'alt', 'url', ]; public function races() { return $this-gt;hasMany('Appraces', 'circuitId'); } public function allCircuits(){ $data = Circuits::all(); return response()-gt;json($data); } }
Контроллер
public function index() { $data = new circuits; $data-gt;allCircuits(); echo ($data); }
Ответ №1:
вы должны сохранить возвращаемое значение в какой-либо переменной и повторить эту попытку:
public function index() { $data = new circuits; $allCircuits = $data-gt;allCircuits(); echo ($allCircuits); }