15 Laravel 수집 방법을 알아야 합니다~ Laravel 수집 강좌

Laravel은 어레이 처리에 매우 강력하고 편리한 패키지를 제공합니다.Eloquent와 협업할 때 Laravel의 컬렉션을 특별히 사용한 적이 있습니다.Eloquent는 사용자 정의 집합 대상의 검색 결과를 되돌려줍니다. Eloquent 집합 클래스는 Laravel 집합에서 계승되기 때문에 Laravel 집합이 제공하는 모든 강력한 방법을 계승하고 가장 중요한 것은 몇 가지 더 유용한 방법을 제공했습니다.

본고에서 우리는 당신의 생활이 더욱 쉽게 Laravel을 사용할 수 있도록 가장 좋고 반드시 알아야 할 Laravel 수집 방법을 되돌아볼 것입니다.
_ 주의: Eloquent 집합은 Laravel 기본 집합 클래스를 계승하기 때문에 모든 기본 집합 방법에 접근할 수 있지만, 기본 집합 대상은 Eloquent 집합이 제공하는 사용자 정의 방법에 접근할 수 없습니다_
간단한 Laravel Base Collection 객체를 만드는 방법을 살펴보겠습니다.
$todocollection = collect([
    [
        'user_id' => '1',
        'title' => ‘Do Laundry,
        ‘description => ‘I ‘have to do laundry ‘
    ],
    [
         'user_id' => '1',
        'title' => ‘Finish Assignment,
        ‘description => ‘I have to finish Maths assignment ‘
    ],
]);
이것이 바로 Laravel 컬렉션 객체를 만드는 방법입니다.Laravel Collection 에서 제공하는 모든 강력한 방법을 사용할 수 있습니다.
이제 Elount Collection 객체의 예를 살펴보겠습니다.
$todos = ToDo::where('user_id',1)->get();

여기, $todos는 검색 결과를 포함하는 설득력 있는 집합 대상이다.그것은 단지 내부 수조일 뿐, 강력한 수집 방법을 사용할 수 있다.여전히 Laravel Collection 메서드를 사용할 수 있지만 Eloquent Collection도 제공됩니다 additional methods.너는 여러 가지 일을 할 수 있다. 예를 들어 수조로 전환하고, 너의 집합을 필터하고, 정렬하고, 비치는 등이다.
가장 좋은 Laravel 수집 방법을 살펴보겠습니다.

1) 모두 ()


Laravel 집합 클래스에는 $items라는 보호된 속성이 있습니다. 이 속성은 모든 데이터를 포함하는 그룹을 포함합니다.집합 포장기는 이 수조에서 조작하는 다른 방법을 제공했다.하지만 이 방울과 호루라기가 모두 없는 진열을 원한다면 방법이 있다!
$emails = collect([
        ‘[email protected],
        ‘[email protected]’,
        ‘[email protected]’,
    ‘[email protected]’
    ]);

    $emails_array = $emails->all();

    dd($emails_array);

/*
Array:4 [▼
  0 => "‘[email protected]"
  1 => "[email protected]"
  2 => "[email protected]’"
  3 => “[email protected]”
]
*/

2) 평균()


Laravel Collection에서 제공하는 Avg 메서드는 평균값을 반환합니다.기본적으로 집합의 모든 값의 평균을 제공합니다.단, 집합에 키 = > 값 쌍이 포함되어 있으면 함수에 키를 제공할 수 있으며, 이 키의 모든 값의 평균 값을 자동으로 계산합니다.
$simple_collection = collect([2,5,7,35,25,10]);

$s_avg = $simplex_collection->avg();

// 14

$key_collection = collect(['score' => 98], ['score' => 90], ['score' => 70],['score' => 86]);

$key_avg = $key_collection->avg();

//86

3) 각 ()


Laravel 집합의 모든 방법은 PHP와 JavaScript의 그룹 맵 함수와 유사합니다.모든 방법은 기본적으로 집합에서 모든 요소를 얻고 리셋 함수를 응용한다.이 방법은 각 요소에 대해 조작을 적용하고 각 요소를 수정하는 데 사용할 수 있다.
$collection = collect([1,2,3,4]);

$collection->each(function($item){
    return $item*$item;
});

// [1,4,9,16]

4) 청크 ()


chunk () 메서드는 Laravel 컬렉션을 지정된 크기의 여러 블록으로 분할하는 데 사용됩니다.
$users = User::all();
$userschunk = $users->chunk(2);

dd($userschunk->toArray());

array:3 [▼
  0 => array:2 [▼
    0 => array:3 [▼
      "id" => 1
      "name" => "John Doe"
      "email" => "[email protected]"
    ]
    1 => array:3 [▼
      "id" => 2
      "name" => "Jack Halt"
      "email" => "[email protected]"
    ]
  ]
  1 => array:1 [▼
    2 => array:3 [▼
      "id" => 3
      "name" => "Sam Pitt"
      "email" => "[email protected]"
    ]
  ]
]
* 다른 항목: *
  • Laravel 7 Tutorial for Beginner: Create your First To-Do App
  • How to Schedule tasks with cron jobs using Laravel Scheduler
  • 5) 포함 ()


    일반적으로, 집합에 값이 포함되어 있는지 확인해야 합니다.Laravel 시리즈는 간단한 검사 방법을 제공합니다.
    contains () 함수는 laravel 집합이 매개 변수로 전달되는 값을 포함하는지 확인하는 데 사용됩니다.이것은 부울 값을 되돌려줍니다. 포함하면true를 되돌려주고, 포함하지 않으면false를 되돌려줍니다.
    $users = collect(['name' => 'John Doe', 'email' => "[email protected]"]);
    
    $users->contains('[email protected]');
    
    // true
    
    $users->contains('[email protected]');
    
    // false
    
    더 자세한 검색을 위해 키와 값을 받아들일 수 있습니다.그것은 주어진 쌍이 존재하는지 여부를 검사할 것이다.
    $users = collect(['name' => 'John Doe', 'email' => "[email protected]"]); 
    
    $users->contains('email', '[email protected]'); 
    
    // true 
    
    $users->contains('name', '[email protected]'); 
    
    // false
    
    주어진 조건을 통과한 값이 있는지 확인하기 위해 자신의 조건을 가진 리셋 함수를 전달할 수 있습니다.
    $collection = collect([11, 25, 30, 45, 50]);
    
    $collection->contains(function ($value, $key) {
        return $value == 55;
    });
    
    // false
    
    contains () 방법은 느슨한 비교를 사용하여 조건을 적용합니다.보다 엄격한 비교를 위해 _*containsStrict()* 메서드를 사용할 수 있습니다.

    6) count()&countBy()


    이것은 Laravel Collection이 제공하는 매우 간단하지만 매우 유용한 방법이다.Laravel 컬렉션이나 패턴에서 몇 개의 항목을 계산해야 합니까?
    Count () 메서드는 지정된 Laravel 컬렉션의 총 항목 수를 나타냅니다.
    $collection = collect([10,20,30,40,50]);
    
    $collection->count();
    
    // 5
    
    Laravel collection은 더 높은 항목 계수 방법을 제공합니다.
    CountBy () 방법은 그룹에서 지정한 Laravel 집합의 항목이 나타나는 횟수를 보여 줍니다.
    $numbercollection = collect([10, 30,30, 50, 50]);
    
    $counts = $numbercollection->countBy();
    
    $counts->all();
    
    // [10 => 1, 30 => 2, 50 => 2]
    

    7) 필터()


    _filter () _ 방법은 가장 유행하고 유용한 라비 집합 방법 중의 하나이다.이것은 전달된 리셋 함수를 사용하여 집합을 필터할 수 있도록 합니다.필터 항목이 있는 새 집합을 되돌려주고 원본 집합을 변경하지 않습니다.
    리셋 함수는 "key*uu와 *value"를 매개 변수로 제공합니다. 이 매개 변수를 이용하여 필터 조건을 만들 수 있습니다.
    $users = collect(['name' => 'John Doe', 'email' => "[email protected]"]);
    
    $filter = $users->filter(function($value, $key) {
        if ($value['email'] == "[email protected]") {
            return true;
        }
    });
    
    $filter->all();
    /*
    [
        1 =>[
                   'name' => 'John Doe', 
                   'email' => "[email protected]"
         ]
    ]
    */
    
    만약 리셋 함수를 제공하지 않는다면, "false"와 같은 항목을 간단하게 삭제합니다_따라서 **null,false, ",0, []** 같은 값은 필터링됩니다. 이 방법은 집합의 빈 항목을 제거하는 가장 간단한 방법입니다.

    8) get()


    get()_u는 매개변수로 전달된 키의 값을 반환하는 방법입니다.키가 전달되지 않으면null로 돌아갑니다.
    $users = collect(['name' => 'John Doe', 'email' => "[email protected]"]);
    
    $value = $users->get('name');
    
    // John Doe
    

    9) 검색 ()


    search()_u는 다른 작고 유용한 Laravel 수집 방법입니다.이것은 집합에서 주어진 값을 검색하고 찾으면 색인을 되돌려줍니다.찾을 수 없으면false로 돌아갑니다.
    $numbers = collect([31,21,53,64,27]);
    
    $numbers->search(27);
    
    // 4
    

    10) groupBy()


    일반적으로 일부 데이터에 따라 데이터를 그룹화해야 합니다.일반적인 경우, 데이터베이스 단계에서 그룹을 나누지만, 집합 중의 데이터를 더 그룹화해야 할 수도 있습니다.
    Laravel 시리즈는 이를 위해 편리한 방법을 제공했다.그것의 작업 원리는 Eloquent의 그룹 By와 유사하며, 주어진 키에 따라 항목을 그룹화합니다.
    $orders = collect([
        ['product_id' => 'p10', 'email' => '[email protected]'],
        ['product_id' => 'p10', 'email' => '[email protected]'],
        ['product_id' => 'p11', 'email' => '[email protected]'],
    ]);
    
    $grouped = $orders->groupBy('product_id');
    
    $grouped->toArray();
    
    /*
        [
            'p10' => [
                ['product_id' => 'p10', 'email' => '[email protected]'],
                ['product_id' => 'p10', 'email' => '[email protected]'],
            ],
            'p11' => [
                ['product_id' => 'p11', 'email' => '[email protected]'],
            ],
        ]
    */
    

    11) 최대()


    Excel에서 이 함수를 여러 번 사용하여 열이나 행의 최대 값을 가져올 수 있습니다.이와 유사하게 Laravel Collections는 집합 항목에서 주어진 키의 최대 값을 얻기 위해 * * max () * 함수를 제공합니다.
    $counter = collect([['count' => 10], ['count' => 20]]);
    
    $counter->max('count');
    // 20
    
    max () 함수에 키를 전달하지 않으면 모든 항목을 비교하고 가장 높은 항목만 되돌려줍니다.

    12) 털 뽑기()


    Plug () 는 제가 가장 좋아하고 자주 사용하는 Laravel 수집 방법 중 하나로 웅변의 수집에 더욱 많이 사용됩니다.그것은 우리가 수조의 집합에서 주어진 키의 값을 얻을 수 있도록 한다.
    $users = collect([
    ['name' => 'John Doe', 'email' => "[email protected]"],
    ['name' => 'Jack Sparrow', 'email' => "[email protected]"]
    ]);
    
    $emails = $users->pluck('email');
    
    /*
    ["[email protected]","[email protected]"]
    */
    

    13) 잊음 ()


    forget () 은 laravel 집합 방법입니다. 집합의 모든 항목에서 주어진 키와 값을 삭제합니다.
    $users = collect(['name' => 'John Doe', 'email' => '[email protected]']);
    
    $users->forget('name');
    
    $users->all();
    
    // ['email' => '[email protected]']
    

    14) toArray()


    *toArray()**는 간단한 Laravel 수집 방법으로 수집 대상을 일반 php 그룹으로 변환하는 데 사용됩니다.
    $users = collect(['name' => 'John Doe', 'email' => '[email protected]']);
    
    $users->toArray();
    
    /*
        [
            ['name' => 'John Doe', 'email' => '[email protected]'],
        ]
    */
    

    15) sortBy()


    sortBy()는 주어진 키를 누르면 Laravel 집합을 정렬하는 데 매우 유용한 방법이다.이것은 집합의 항목을 정렬하는 정렬 조건에 따라 원본 키를 보존합니다.
    $products = collect([
        ['name' => 'Laptop', 'price' => 2000],
        ['name' => 'Mouse', 'price' => 100],
        ['name' => 'Keyboard', 'price' => 150],
    ]);
    
    $sortedproducts = $products->sortBy('price');
    
    /*
        [       
            ['name' => 'Mouse', 'price' => 100],
            ['name' => 'Keyboard', 'price' => 150],
            ['name' => 'Laptop', 'price' => 2000],
        ]
    */
    
    더 높은 정렬에 대해 리셋 함수를 전달할 수 있습니다. 이 함수는 항목을 어떻게 정렬하는지 처리합니다.
    요컨대 이것은 라벨 개발자로서 반드시 알아야 할 가장 좋은 라벨 집합 방법이다.Laravel Collections는 Laravel Documentation 에서 볼 수 있는 더 많은 방법을 제공합니다.
    게시물15 Must know Laravel Collection Methods ~ Laravel Collections Tutorial이 먼저 Parth Patel - a Web Developer에 올라왔다.

    좋은 웹페이지 즐겨찾기