2016-11-27 5 views
1

Ich habe eine Laravel Sammlung von Mustern und Modellen:Filter Sammlungen in Laravel

"xdo45ttnqhsb" => array:5 [▼ 
     "design_id" => "xdo45ttnqhsb" 
     "design_name" => "hufflepuff house" 
     "category" => "harry potter" 
     "tags" => array:6 [▶] 
     "article_owner" => "1728" 
    ] 
    "wpy8r2erkk2t" => array:5 [▼ 
     "design_id" => "wpy8r2erkk2t" 
     "design_name" => "ravenclaw house" 
     "category" => "harry potter" 
     "tags" => array:6 [▶] 
     "article_owner" => "1728" 
    ] 
    "8oy7sb7i98q0" => array:5 [▼ 
     "design_id" => "8oy7sb7i98q0" 
     "design_name" => "be positive friend" 
     "category" => "miscelanea" 
     "tags" => array:5 [▶] 
     "article_owner" => "1728" 
    ] 
    "a9m79qc6bl9x" => array:5 [▼ 
     "design_id" => "a9m79qc6bl9x" 
     "design_name" => "final fantasy pixel" 
     "category" => "pixelart" 
     "tags" => array:5 [▶] 
     "article_owner" => "1728" 
    ] 

Ich möchte Entwürfe nehmen, die zu einer einzigen Kategorie gehören.

Zum Beispiel: Ich brauche nur die Designs mit "Kategorie" mit dem Wert "Harry Potter".

Welchen Sammelhelfer könnte ich dafür verwenden?

Antwort

0

Dazu können Sie die ->filter() Methode verwenden, die für Sie gut funktionieren sollte.

$collection->filter(function($arr){ 
    return $arr['category'] = "harry potter"; 
}); 
0

Vom laravel collections und aus meinem Wissen, können Sie die Datensätze mit filter() filtern und Sie wie unten mit filter() Blick Codeausschnitt:

$collection->filter(function ($arrValue, $key) { 
    return (isset($arrValue['category']) && $arrValue['category'] == "harry potter"); 
}); 

Hoffnung diese Ihnen helfen, Ihr Problem zu lösen.

0

können Sie entweder filter() wie andere vorgeschlagen oder -nutzung:

$collection->where('category', '=', 'harry potter')->get()

, die eine Sammlung von Gegenständen in der vorherigen Kollektion zurück, dass category zu harry potter entspricht.