Результат фасада БД дает ошибку в $ this-> table Команда: строка должна быть массивом или экземпляром TableSeparator - PullRequest
0 голосов
/ 14 мая 2019

Я установил приложение Laravel-zero и установил компонент базы данных.Я использую функцию $this->table, чтобы показать все «проекты», которые я извлекаю с помощью $projects = DB::table('projects')->get()->toArray();. Единственное, что выдает ошибку: «Строка должна быть массивом или экземпляром TableSeparator».Но ясно, что вывод представляет собой массив.Что я делаю не так?

Редактировать: вывод таблицы $ this-> ($ headers, []);это хорошо. (чтобы исключить проблемы)

Документы Laravel используют toArray () aswell:

https://laravel.com/docs/5.7/artisan#defining-input-expectations

$users = App\User::all(['name', 'email'])->toArray();

Моя ручка ():

$headers = ['id','name', 'created_at', 'deleted_at'];
$projects = DB::table('projects')->get()->toArray();
$this->table($headers, $projects);

вывод моего массива:

array:3 [
  0 => {#270
    +"id": "1"
    +"name": "TestProject"
    +"created_at": null
    +"updated_at": null
  }
  1 => {#272
    +"id": "2"
    +"name": "Testproject2"
    +"created_at": null
    +"updated_at": null
  }
  2 => {#273
    +"id": "3"
    +"name": "Nanko TEST"
    +"created_at": null
    +"updated_at": null
  }
]

1 Ответ

0 голосов
/ 14 мая 2019

Я исправил это, зациклив true на коллекции и приведя объекты к массиву:

$array_projects = $projects->map(function ($item, $key) {
    return (array) $item;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...