2016-04-17 8 views
1

に単純な配列を追加し、この方法は、結果のCollectionタイプ返しで今laravelにコレクション

Collection {#687 ▼ 
    #items: array:2 [▼ 
    1 => "EUR" 
    2 => "CHF" 
    ] 
} 

をし、私はそれに-1 => "USD"を追加したいです。私はそれを行うことはできません。私の解決策はそれにネストされた配列を作成します。例えば:

$all_currency->push (["-1"=>"11"]); 

結果:

Collection {#687 ▼ 
    #items: array:4 [▼ 
    1 => "EUR" 
    2 => "CHF" 
    3 => array:1 [▼ 
     -1 => "USD" 
    ] 
    ] 
} 

答えて

0

、あなたが試すことができますtoArray()メソッドを使用してコレクションを配列に変換します。

$all_currency = CurrencyType::pluck('currency_type', 'id')->toArray(); 
$all_currency['-1'] = '11'; 

コレクションを使用する必要がある場合は、put()ヘルパーを使用します。

$all_currency = CurrencyType::pluck('currency_type', 'id')->put('-1', '11'); 

はまた、lists()は廃止され、代わりにpluck()を使用し、将来的に削除されます。

0

あなたは、通貨を追加する前に、配列にコレクションをキャストしてみましたか?

それ以外の場合は、Collectionクラスのインターフェイスをチェックアウトしてください。あなたはそれを言及していないので、それは教義かPropelか何か他のものかもしれませんか?

キー値ペアを追加する特別な関数があることがわかります。値をプッシュしてからその値(ケースの配列)をコレクションに追加します。

特定のキーインデックス-1に値を追加する方法がない場合があります。その値は、実際に使用しているORMとその実装によって異なります。

//編集:

それは正しい方法が置かれているようで、コードは次のようになります。あなたは、配列を使用する必要がある場合

$all_currency->push (-1, "11"); 

https://laravel.com/api/master/Illuminate/Support/Collection.html#method_put

+0

を私は、任意のクラス定義を持っていけない、それは名前を取得するlaravel方法でありますidをデータベースから取り出し、単純な 'select' htmlタグを作成します。 –

+0

私はここで飛躍し、これがあなたが使用しているクラスであると仮定しています:https://laravel.com/api/master/Illuminate/Support/Collection.html putメソッドに注意してください。 put (混合$キー、混合$値) アイテムをキーでコレクションに入れます。 あなたがしていることはすべて $ all_currency-> put(-1、 "11");です。 – radonthetyrant

0

はあなたのコレクションにput()メソッドを使用します。

$all_currency->put(-1, "USD"); 

あなたがここにコレクションのすべての利用可能な方法を見ることができます:Collections

関連する問題