laravel выборка или как получить массив

147
19 декабря 2018, 12:40

Есть модель Friend на запроc:

Friend::all()->where("user" , "=" , $request->get("userid"))

получаю массив (точнее обьект json но по идеи это должен быть массив):

{
 "0": {
  "id": 1,
  "user": "farizid",
  "friend": "jamilyaid",
  "created_at": null,
  "updated_at": null
},
"2": {
  "id": 4,
  "user": "farizid",
  "friend": "heyriid",
  "created_at": null,
  "updated_at": null
  }
}

но для удобного парсинга требуется получить массив такого вида:

[
  {
    "id": 1,
    "user": "farizid",
    "friend": "jamilyaid",
    "created_at": null,
    "updated_at": null
  },
  {
    "id": 4,
    "user": "farizid",
    "friend": "heyriid",
    "created_at": null,
    "updated_at": null
  }
]
Answer 1

UPDATE: Важно!!!

Когда первый раз отвечал, то не заметил, вы используете ->all(), а потом ->where(...). Это очень грубая ошибка. all возвращает не Query/Builder, а уже коллекцию, where тоже есть у коллекции. То есть Вы делаете запрос к бд на получение всех данных, но вам не нужны все.

Правильный запрос:

// get получает коллекцию моделей которые прошли запрос Query/Builder
Friend::where("user" , $request->userid)->get() 

Если нужно получить массив из коллекции:

// ->values()->all()
Friend::where('user', $request->userid)->get()->values()->all();

Если нужно получить не массив, а коолекцию с которой можно дальше работать, то не надо ->all():

$values = Friend::where('user', $request->userid)->get()->values();
// теперь можно сделать, например, групировку по свойству user
$values->groupBy('user')

Документация.

Также вместо $request->get("userid") можно использовать $request->userid и вместо ->where('user' , '=' , $request->userid) можно->where('user', $request->userid)

Answer 2

Метод коллекций values должен помочь:

Friend::all()->where("user" , "=" , $request->get("userid"))->get()->values();
READ ALSO
Wordpress ищет темы не там, где нужно

Wordpress ищет темы не там, где нужно

Вот содержание functionphp

163
Удаление записи в таблице

Удаление записи в таблице

Хочу удалить запись которую задаст пользователь по id, но не получается

138
Как к своему php файлу подключить функции?

Как к своему php файлу подключить функции?

Создал плагин WP, в папке с плагином создал второй php файл, который выполняет post cURL запрос и к нему разрешен прямой доступ

187