2017-08-30 12 views
0

に変換します。データベーステーブルSITEには多くの列があります。そのうちの1つはsite_idです。私はsite_idをすべて配列として受け取る必要があります。なぜなら、文字列配列だけを受け取るメソッドに渡さなければならないからです。Laravelは結果セットを配列

$sites = DB::select('select site_id from site_tab'); 
$sites_arr = $sites->toArray(); 

しかし、これは私が望む結果を生成しません:私はこれまで試したどのような

です。私は $sites_arrのようになる必要があります ['A','B','C',...]

これを行う方法を提案してください。 Eloquentに基づいたソリューションも私にとってはOKです。あなたがmanualを開くと

おかげ

+2

この 'DB ::テーブル( 'site_tab')をしてみてください - >摘む( 'SITE_ID') - >のtoArray() ; ' –

+0

このソリューションは動作します。どうすれば解決できますか?あなたはコメントとしてそれを入れました。 –

答えて

1

これを試してみてください:

DB::table('site_tab')->pluck('site_id')->toArray(); 

参照pluck

referenがtoArray

0

は、あなたは、

select方法はいつも、->toArray()を使用する必要はありませんarray結果

の返されることがわかります結果はであり、すでにの配列です。あなたが行うことができます名前の配列として値を取得するには

:あなたはあまりにもforeachと(Collectionである)$site_idsを反復処理することができ、ここで->toArray()を使用して

$site_ids = DB::table('site_tab')->pluck('site_id'); 

は、オプションです。

+0

しかしマニュアルには、「配列内の各結果はPHPのStdClassオブジェクトになります」と書かれています。私はそれぞれの結果を 'string'にしたい。 'StdClass'の型ではありません。 –

+0

そのため、結果を反復処理して値を抽出する必要があります。 'toArray'はそれをしません。 –

+0

ありがとうございます。しかし、 "Guillermo Andres Fuentes Moral"のソリューションは私のために働いた... –

関連する問題