2017-10-04 34 views

答えて

0

あなたの問題は、あなたのコレクションがうまくフォーマットされていないということである、このようにそれを行う:今

$collections = collect([ //main collection array 
      [ 'name' => 'Rob1', 'nickname' => 'Robby1' ] //object 0 inside collection array with well formated keys => values 
     ]); 

使用:

$collections->keyBy('name') 
$collections->keyBy('nickname') 

それ幽霊として動作します

+0

が見つかりました...私の悪い私はキーと思ったキーでコレクションを検索しています。しかし、keyByは単に(キー)内のindexを置き換えます –

1

私はあなたが配列として一つのパラメータを渡すべきだと思います。これ

$collections = collect([['name' => 'Rob'], ['nickname' => 'Robby']]); 
0

を試してみてくださいので、結果である

Collection {#246 ▼ 
    #items: array:2 [▼ 
    "Rob" => array:1 [▼ 
     "name" => "Rob" 
    ] 
    "" => array:1 [▼ 
     "nickname" => "Robby" 
    ] 
    ] 
} 

Collection {#246 ▼ 
    #items: array:2 [▼ 
    "" => array:1 [▼ 
     "name" => "Rob" 
    ] 
    "Robby" => array:1 [▼ 
     "nickname" => "Robby" 
    ] 
    ] 
} 

はまだコレクションに無効な検索を検索します。.. 。 および

$collections->keyBy('nick')

戻り

Collection {#246 ▼ 
    #items: array:1 [▼ 
    "" => array:1 [▼ 
     "nickname" => "Robby" 
    ] 
    ] 
} 
+0

3つのキーすべてが空ではなく、さらに最後に –