Как преобразовать несколько массивов в отдельные ключи и значения - PullRequest
0 голосов
/ 13 июня 2019

Я хочу преобразовать массив foillwing в отдельный массив ключей и отдельный массив значений $ products_selected_leeds возвращает массив follwing, тогда как мне нужны только ключи в массиве

$products_selected_leeds = DB::table('Products_selected_leeds')->select('product_id')->whereIn('leed_id',$where_in)->get();

dd($products_selected_leeds);

array:42 [
  0 => {#903
    +"product_id": 152
  }
  1 => {#904
    +"product_id": 756
  }
  2 => {#905
    +"product_id": 938
  }
  3 => {#906
    +"product_id": 172
  }
  4 => {#907
    +"product_id": 1200
  }
  5 => {#908
    +"product_id": 751
  }
  6 => {#909
    +"product_id": 753
  }
  7 => {#910
    +"product_id": 754
  }
  8 => {#911
    +"product_id": 755
  }

ожидаемые результаты

product_id =  [152 756,938,172,1200,751,753,754,755]

Ответы [ 3 ]

0 голосов
/ 13 июня 2019

Вы должны использовать - >pluck() метод

$products_selected_leeds->pluck('product_id')->toArray();

Или вы можете использовать

DB::table('Products_selected_leeds')->whereIn('leed_id',$where_in)->pluck('product_id')->toArray();
0 голосов
/ 13 июня 2019

Как вы сказали, чтобы получить все идентификаторы для одного массива

$query = DB::table('Products_selected_leeds')
                ->select('product_id')
                ->whereIn('leed_id',$where_in)
                ->get()
                ->pluck('product_id')
                ->toArray();

И dd($query)

РЕДАКТИРОВАНО ДЛЯ LARAVEL VERSON (BELOW 5.3), КОТОРОЕ НЕ ДЕЛАЕТВЕРНУТЬ КОЛЛЕКЦИЮ НА СБОРНИК ЗАПРОСА

https://github.com/laravel/framework/pull/10552

    $query = DB::table('Products_selected_leeds')
            ->select('product_id')
            ->whereIn('leed_id',$where_in)
            ->get();               

    $toCollection = collect($query);

    $arrayOfIds = $toCollection->pluck('product_id')->toArray();

    dd($arrayOfIds);

Пожалуйста, прокомментируйте ниже, если есть какие-либо проблемы или ОТМЕТЬТЕ МОЙ Ответ как ПРИНЯТЫЙ, ЕСЛИ Работает нормально

0 голосов
/ 13 июня 2019

Может быть, это будет работать

$products_selected_leeds = DB::table('Products_selected_leeds')->select('product_id')->whereIn('leed_id',$where_in)->pluck('product_id')->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...