Как удалить массив в массивах из переменной? - PullRequest
0 голосов
/ 11 июня 2018

Я хочу удалить массив из массивов, но массив находится в $variable.Я не нашел ни одного примера, который имеет массив в массиве для $variable.

Функция:

     public function firstHourTrades()
{

    $user_id = Auth::user()->id;
    $first_hour = DB::table('finaltrade')
        ->select(DB::raw('count(*) as first'))
        ->join('exchanges', 'finaltrade.exchange_id', '=', 'exchanges.id')
        ->where('finaltrade.user_id', $user_id)
        ->whereTime(DB::raw('IF(finaltrade.buy_datetime<finaltrade.sell_datetime, finaltrade.buy_datetime, finaltrade.sell_datetime) '), '>=', DB::raw('exchanges.start_time'))
        ->whereTime(DB::raw('IF(finaltrade.buy_datetime<finaltrade.sell_datetime, finaltrade.buy_datetime, finaltrade.sell_datetime) '), '<=', DB::raw("ADDTIME(exchanges.start_time, '01:00:00')"))
        ->get();


    $last_hour = DB::table('finaltrade')
        ->select(DB::raw('count(*) as last'))
        ->join('exchanges', 'finaltrade.exchange_id', '=', 'exchanges.id')
        ->where('finaltrade.user_id', $user_id)
        ->whereTime(DB::raw('IF(finaltrade.buy_datetime<finaltrade.sell_datetime, finaltrade.buy_datetime, finaltrade.sell_datetime) '), '<=', DB::raw('exchanges.close_time'))
        ->whereTime(DB::raw('IF(finaltrade.buy_datetime<finaltrade.sell_datetime, finaltrade.buy_datetime, finaltrade.sell_datetime) '), '>=', DB::raw("SUBTIME(exchanges.close_time, '01:00:00')"))
        ->get();


    $other_hours = DB::table('finaltrade')
        ->select(DB::raw('count(*) as other'))
        ->join('exchanges', 'finaltrade.exchange_id', '=', 'exchanges.id')
        ->where('finaltrade.user_id', $user_id)
        ->whereRaw('finaltrade.created_at NOT BETWEEN exchanges.start_time AND DATE_ADD(exchanges.start_time, INTERVAL 1 HOUR)')
        ->whereRaw('finaltrade.created_at NOT BETWEEN exchanges.close_time AND DATE_SUB(exchanges.close_time, INTERVAL 1 HOUR)')
        ->get();

    $data = [$first_hour,$last_hour,$other_hours];
    return response()->json($data );
}

ВЫХОД вышеуказанной функции:

[[{"first":1}],[{"last":0}],[{"other":4}]]

Я хочу удалить массив из массива что я делаю в своей функции?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018
<?php
$prefs = 
[
    ['fruit' => 'banana'],
    ['nut' => 'pecan'],
    ['pasta' => 'fusili']
];

$flatter = array_merge(...$prefs);
var_export($flatter);

Выход:

array (
  'fruit' => 'banana',
  'nut' => 'pecan',
  'pasta' => 'fusili',
)
0 голосов
/ 11 июня 2018

Если ваши запросы отображаются в виде одной строки, которую, я думаю, да, потому что вы не используете group к тому времени, вы можете использовать first() вместо get()

Вывод будет

[{"first":1},{"last":0},{"other":4}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...