15 Laravel 수집 방법을 알아야 합니다~ Laravel 수집 강좌
11860 단어 laravellaravelcollection
본고에서 우리는 당신의 생활이 더욱 쉽게 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]"
]
]
]
* 다른 항목: *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에 올라왔다.
Reference
이 문제에 관하여(15 Laravel 수집 방법을 알아야 합니다~ Laravel 수집 강좌), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/parthp1808/15-must-know-laravel-collection-methods-laravel-collections-tutorial-36ok텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)