swert-tech
@swert-tech

Сортировка идентификаторов в массиве php?

Привет! Столкнулся с такой проблемой что когда я получаю идентификаторы таким способом:
$from_id = $items->pluck('from_id');

То они приходят в виде массива:
[1,2,-2,3,-4]

И нужно отсортировать на положительное и отрицательное число для дальнейшего получения данных из двух таблиц.

Users::whereIn('id', $from_id)->get()
Pages::whereIn('id', $from_id)->get()
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
Fernus
@Fernus
Техник - Механик :)
<?php

$from_id = $items->pluck('from_id');
$arFormIds = $from_id->toArray();

$arPlus = $from_id->where($arFormIds, function ($value, $key) {
    return $value > 0;
})->toArray();

$arMinus = $from_id->where($arFormIds, function ($value, $key) {
    return $value < 0;
})->toArray();

// $arPlus - все положительные
// $arMinus - все отрицательные

?>

P.S.: Можно немного изящнее:

<?php

// $items - твоя коллекция...без pluck...

$arPlus = $items->where('form_id', '>', 0)->toArray();
$arMinus = $items->where('form_id', '<', 0)->toArray();

// $arPlus - все положительные
// $arMinus - все отрицательные

?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы