22/10/2018, 18:00

Phương thức cơ bản trong collection Laravel 5.2

Tìm hiểu các phương thức cơ bản trong collection trong Laravel 5.2

1. Hàm all() đơn giản trả về mảng cơ bản được miêu tả bởi collection:

$arr = [1, 2, 3];

collect($arr)->all();

// [1, 2, 3]

2. Chunk() chia một collection thành nhiều collect nhỏ.

$collection = collect([1, 2, 3, 4, 5, 6, 7]);

$chunks = $collection->chunk(4);

$chunks->toArray();

// [[1, 2, 3, 4], [5, 6, 7]]

3. Collapse gộp nhiều mảng collection thành 1 collect

 

$collection = collect([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

$collapsed = $collection->collapse();

$collapsed->all();

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

 

4. Contains() xác định một collection có bao gồm item đã cho  hay không ( tương đương với in_array() in php ) 

$collection = collect(['name' => 'Desk', 'price' => 100]);

$collection->contains('Desk');

// true

$collection->contains('New York');

// false

Nó sẽ xác định sự tồn tại cặp đó trong collection contains để thực hiện test kiểm tra

$collection = collect([1, 2, 3, 4, 5]);

$collection->contains(function ($key, $value) {
    return $value > 3;
});

// true

5. diff() check loại bỏ những giá trị bị trùng trong collection

$collection = collect([1, 2, 3, 4, 5]);

$diff = $collection->diff([2, 4, 6, 8]);

$diff->all();

// [1, 3, 5]

6. diffkey() check so sách key của một collection với một collection hoặc một array trong php để loại bỏ đi những thằng trùng keys

 

$collection = collect([
    'one' => 10,
    'two' => 20,
    'three' => 30,
    'four' => 40,
    'five' => 50,
]);

$diff = $collection->diffKeys([
    'two' => 2,
    'four' => 4,
    'six' => 6,
    'eight' => 8,
]);

$diff->all();

// ['one' => 10, 'three' => 30, 'five' => 50]

7. each() lặp qua các phần tử trong collection và truyền mỗi phần tử vào trong 1 callback

 

$collection = $collection->each(function ($item, $key) {
    //
});

8. except()  trả về toàn bộ phần tử trong collection trừ những phần từ với key đã được chỉ định.

 

$collection = collect(['product_id' => 1, 'price' => 100, 'discount' => false]);

$filtered = $collection->except(['price', 'discount']);

$filtered->all();

// ['product_id' => 1]

 

9. filter() lọc qua collection bằng một callback, chỉ giữ lại những phần tử mà thông qua điều kiện đã cho:

 

$collection = collect([1, 2, 3, 4]);

$filtered = $collection->filter(function ($value, $key) {
    return $value > 2;
});

$filtered->all();

// [3, 4]

 

10. flatten()  Làm phẳng collection nhiều chiều thành một chiều.

$collection = collect(['name' => 'taylor', 'languages' => ['php', 'javascript']]);

$flattened = $collection->flatten();

$flattened->all();

// ['taylor', 'php', 'javascript'];

 

11. forget() xóa một phần tử của collection bởi key

 

$collection = collect(['name' => 'taylor', 'framework' => 'laravel']);

$collection->forget('name');

$collection->all();

// ['framework' => 'laravel']     

 

12. has() xác định một key đã tồn tại trong collection

$collection = collect(['account_id' => 1, 'product' => 'Desk']);

$collection->has('email');

// false

 

13. imlode() chuyển một collect sang kiểu strinh.

$collection = collect([
    ['account_id' => 1, 'product' => 'Desk'],
    ['account_id' => 2, 'product' => 'Chair'],
]);

$collection->implode('product', ', '); // thuyền key = product.

// Desk, Chair

 

collect([1, 2, 3, 4, 5])->implode('-');

// '1-2-3-4-5'

14. map() lặp qua tất cả các collection rồi thuyền từng giá trị vào callback. callback thay đổi giá trị trả về, từ đó tạo ra một collect mới.

$collection = collect([1, 2, 3, 4, 5]);

$multiplied = $collection->map(function ($item, $key) {
    return $item * 2;
});

$multiplied->all();

// [2, 4, 6, 8, 10]

 

 

15. only() trả về phần tử trong collection với key xác định.

$collection = collect(['product_id' => 1, 'name' => 'Desk', 'price' => 100, 'discount' => false]);

$filtered = $collection->only(['product_id', 'name']);

$filtered->all();

// ['product_id' => 1, 'name' => 'Desk']

16. pluck() lấy toàn bộ value của một collection với key cho trước.

Nguồn Laravel 5.2 https://laravel.com/docs/5.2/collections

Bài liên quan

5 lỗi bảo mật cơ bản trong Rails app hay gặp trong thực tế

1. Thiếu thời gian hết hạn của session Như trong Securing Rails Applications ta biết session hay còn gọi là phiên làm việc: Sessions that never expire extend the time - frame for attacks such as cross - site request forgery ( CSRF ) , session hijacking and session fixation . tạm ...

Trần Trung Dũng viết 22:57 ngày 23/10/2018

Phương thức cơ bản trong collection Laravel 5.2

Tìm hiểu các phương thức cơ bản trong collection trong Laravel 5.2

Điệp Bắp viết 18:00 ngày 22/10/2018

Có gì mới trong bản phát hành Laravel 5.7?

Laravel là một framework PHP phổ biến nhất, được hỗ trợ tích cực và đóng góp cho dự án mã nguồn mở, sắp đạt được bản phát hành tiếp theo 5.7 vào tháng 8 năm 2018. Bản phát hành sẽ nhận được bản sửa lỗi cho đến tháng 2 năm 2019 và các bản sửa lỗi bảo mật cho đến tháng 8 năm 2019. ...

Bùi Văn Nam viết 14:17 ngày 14/09/2018

Biểu thức và các toán tử cơ bản trong JavaScript

1) Ôn lại một số khái niệm liên quan đến biểu thức toán học - Trong toán học, biểu thức là một tập hợp gồm các chữ số và các phép toán. - Trong biểu thức, các chữ số được gọi là toán hạng còn các phép toán thì được gọi là toán tử - Ví dụ: 10 + 5 - 2 là một biểu thức, trong đó 10, 5, ...

Bùi Văn Nam viết 10:47 ngày 18/08/2018

Một số vấn đề cơ bản trong Laravel

Nội dung bài viết: Exception and Error Handler CSRF Protection Restful Resource Controllers Request & Responses Scope Accessors & Mutators Laravel cho phép quản lý 1 cách tập trung các exception với lớp appExceptionsHandler. Sử dụng lớp này cho phép chúng ta quản lý lỗi cũng ...

Trịnh Tiến Mạnh viết 18:14 ngày 12/08/2018
0