Mảng Bộ sưu tập có trong Laravel không?

Bộ sưu tập của Laravel thành mảng [phương thức _______3_______] sẽ có thể chuyển đổi thành một mảng PHP đơn giản vì một số lý do chúng tôi cần sử dụng điều này trong bất kỳ tình huống nào để chúng tôi có thể truy cập bản ghi thông qua một mảng

Laravel đi kèm với trình bao bọc rất mạnh mẽ và thuận tiện để làm việc với mảng. Bạn phải đặc biệt sử dụng các bộ sưu tập trong Laravel khi làm việc với Eloquent. Eloquent trả về kết quả truy vấn trong đối tượng Collection tùy chỉnh ~ Lớp Eloquent Collection được kế thừa từ Laravel Collections, do đó, nó kế thừa tất cả các phương thức mạnh mẽ do Laravel Collection cung cấp và trên hết, cung cấp thêm một số phương thức tuyệt vời để sử dụng

Trong bài viết này, chúng tôi sẽ xem xét một số phương pháp Bộ sưu tập Laravel tốt nhất và phải biết để giúp cuộc sống của bạn dễ dàng hơn khi làm việc với Laravel

Ghi chú. Hãy nhớ rằng, Eloquent Collection kế thừa lớp Laravel Base Collection, do đó nó có quyền truy cập vào tất cả các phương thức của Base Collection nhưng đối tượng Base Collection không thể truy cập các phương thức tùy chỉnh do eloquent collection cung cấp

Hãy xem cách bạn có thể tạo Laravel Base Collection Object đơn giản

$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 ‘
    ],
]];

Đây là cách bạn có thể tạo đối tượng Laravel Collection. Bạn có thể sử dụng tất cả các phương thức mạnh mẽ do Laravel Collection cung cấp

Bây giờ, hãy xem một ví dụ về đối tượng Eloquent Collection

$todos = ToDo::where['user_id',1]->get[];

Ở đây, $todos là một đối tượng bộ sưu tập hùng hồn chứa các kết quả truy vấn. Nó chỉ đơn giản là một mảng từ bên trong với một số phương thức thu thập mạnh mẽ theo ý của bạn. Bạn vẫn có thể sử dụng các phương thức của Laravel Collection nhưng Eloquent Collection cũng cung cấp các phương thức bổ sung. Bạn có thể thực hiện nhiều việc khác nhau như chuyển đổi thành mảng, lọc bộ sưu tập, sắp xếp, lập bản đồ, v.v.

Hãy xem xét một số Phương thức thu thập Laravel tốt nhất và phải biết

1]  tất cả[]

Lớp Bộ sưu tập của Laravel có một thuộc tính được bảo vệ được gọi là $items chứa một mảng chứa tất cả dữ liệu. Trình bao bọc bộ sưu tập cung cấp các phương thức bổ sung để hoạt động trên mảng đó. Nhưng nếu bạn chỉ muốn mảng không có chuông và còi thì có một phương pháp cho điều đó

2] trung bình[]

Phương thức trung bình được cung cấp bởi Laravel Collection trả về giá trị trung bình. Theo mặc định, nó sẽ cung cấp giá trị trung bình của tất cả các giá trị trong bộ sưu tập. Tuy nhiên, nếu bộ sưu tập chứa cặp khóa => giá trị, thì bạn có thể cung cấp khóa cho hàm và nó sẽ tự động tính trung bình của tất cả các giá trị cho khóa đó

3] mỗi[]

Mỗi phương thức cho Laravel Collection tương tự như hàm map trên mảng trong PHP và JavaScript. Mỗi phương thức về cơ bản lấy từng phần tử từ bộ sưu tập và áp dụng chức năng gọi lại trên đó. Phương pháp này có thể được sử dụng để áp dụng các thao tác trên từng phần tử, sửa đổi từng phần tử, v.v.

4] đoạn []

chunk[] phương thức được sử dụng để chia Laravel Collection thành nhiều chunk có kích thước nhất định

$users = User::all[];
$userschunk = $users->chunk[2];

dd[$userschunk->toArray[]];

array:3 [▼
  0 => array:2 [▼
    0 => array:3 [▼
      "id" => 1
      "name" => "John Doe"
      "email" => "johndoe@example.com"
    ]
    1 => array:3 [▼
      "id" => 2
      "name" => "Jack Halt"
      "email" => "jhalt@example.com"
    ]
  ]
  1 => array:1 [▼
    2 => array:3 [▼
      "id" => 3
      "name" => "Sam Pitt"
      "email" => "spitt@example.com"
    ]
  ]
]

cũng đọc

5] chứa[]

Thông thường, bạn sẽ cần kiểm tra xem một bộ sưu tập có chứa giá trị hay không. Laravel Collection cung cấp phương pháp dễ dàng để kiểm tra xem

Phương thức contains[] được sử dụng để kiểm tra xem bộ sưu tập laravel có chứa giá trị được truyền cho nó dưới dạng tham số hay không. Nó sẽ trả về một giá trị boolean - đúng nếu nó chứa và sai nếu không

Nó cũng có thể chấp nhận cặp khóa và giá trị để tìm kiếm chi tiết hơn. Nó sẽ kiểm tra xem cặp đã cho có tồn tại hay không

Bạn cũng có thể truyền hàm gọi lại với điều kiện của riêng mình để kiểm tra xem có bất kỳ giá trị nào vượt qua điều kiện đã cho hay không

Phương thức contains[] sẽ sử dụng phép so sánh lỏng lẻo để áp dụng điều kiện. Để so sánh chặt chẽ hơn, bạn có thể sử dụng phương thức containsStrict[]

6] đếm[] & đếmBy[]

Đây là phương pháp rất đơn giản nhưng rất hữu ích được cung cấp bởi Laravel Collection. Bạn cần đếm bao nhiêu lần các mục trong Laravel Collection hoặc một mảng?

Phương thức Count[] đưa ra tổng số mục trong Bộ sưu tập Laravel đã cho

Bộ sưu tập của Laravel cũng cung cấp phương pháp nâng cao hơn để đếm các mục của nó

Phương thức CountBy[] đưa ra số lần xuất hiện của mục trong Bộ sưu tập Laravel nhất định trong mảng

7] bộ lọc[]

Phương thức filter[] là một trong những phương thức Collection phổ biến và hữu ích nhất của Laravel. Nó cho phép bạn lọc bộ sưu tập của mình bằng chức năng gọi lại đã qua. Nó trả về bộ sưu tập mới với các mục đã lọc và không thay đổi bộ sưu tập gốc

Hàm gọi lại được cung cấp với khóa và giá trị làm tham số mà bạn có thể sử dụng để tạo điều kiện lọc

Nếu bạn không cung cấp bất kỳ chức năng gọi lại nào, thì chức năng này sẽ chỉ xóa bất kỳ mục nào tương đương với false__. Vì vậy, các giá trị như null, false, '', 0, [] sẽ bị lọc ra. Phương pháp này là cách dễ nhất để loại bỏ mọi mục trống trong bộ sưu tập

8] nhận[]

get[] là một phương thức trả về giá trị tại khóa mà bạn truyền cho nó dưới dạng tham số. Nếu không có khóa nào được chuyển thì null được trả về

9] tìm kiếm[]

search[] là một phương thức Collection nhỏ nhưng hữu ích khác của Laravel. Nó tìm kiếm Bộ sưu tập cho giá trị đã cho và trả về chỉ mục nếu tìm thấy. Nếu không tìm thấy thì sẽ trả về false

10] nhómBy[]

Thường thì bạn sẽ cần nhóm dữ liệu theo dữ liệu nhất định. Thông thường, bạn sẽ nhóm ở cấp cơ sở dữ liệu, nhưng vẫn có nhiều trường hợp sử dụng mà bạn có thể cần nhóm thêm dữ liệu trong bộ sưu tập

Bộ sưu tập Laravel cung cấp phương pháp tiện dụng chỉ dành cho điều đó. Nó hoạt động tương tự như Eloquent's groupBy và nhóm các mục theo khóa đã cho

11] tối đa[]

Trong Excel, bạn có thể sử dụng hàm này nhiều lần để lấy giá trị lớn nhất trong một cột hoặc một hàng. Tương tự, Bộ sưu tập của Laravel cung cấp hàm max[] để lấy giá trị lớn nhất của khóa đã cho trong số các mục của bộ sưu tập

Nếu bạn không chuyển bất kỳ phím nào cho hàm max[], thì hàm này sẽ chỉ so sánh từng mục và trả về mục cao nhất

12] gảy[]

gảy [] là một trong những phương pháp yêu thích và được sử dụng nhiều nhất của tôi cho Bộ sưu tập Laravel và thường xuyên hơn cho Bộ sưu tập Eloquent. Nó cho phép chúng tôi tìm nạp các giá trị cho khóa đã cho từ bộ sưu tập trong mảng

13] quên []

quên [] là một phương thức thu thập của laravel, chỉ cần xóa khóa đã cho và giá trị của nó khỏi tất cả các mục trong bộ sưu tập

14] đếnArray[]

toArray[] là một phương thức Bộ sưu tập Laravel đơn giản để chuyển đổi đối tượng bộ sưu tập của bạn thành một mảng php đơn giản

15] sắp xếpBy[]

sortBy[] là một phương pháp rất hữu ích để sắp xếp Bộ sưu tập Laravel của bạn theo khóa đã cho. Nó giữ lại các khóa ban đầu, chỉ sắp xếp lại các mục trong bộ sưu tập theo điều kiện sắp xếp

Để sắp xếp nâng cao hơn, bạn cũng có thể chuyển hàm gọi lại sẽ xử lý cách sắp xếp các mục

Tóm lại, đây là những phương pháp Bộ sưu tập Laravel tốt nhất mà bạn phải biết với tư cách là nhà phát triển Laravel. Có rất nhiều phương thức khác được cung cấp bởi Laravel Collections mà bạn có thể kiểm tra tại Laravel Documentation

Sự khác biệt giữa mảng và Bộ sưu tập trong Laravel là gì?

Mảng là một cấu trúc dữ liệu cơ bản lưu trữ một hoặc nhiều mục trong một biến duy nhất. Các mảng PHP có một vấn đề lớn khi không phải là OOP. Bộ sưu tập Illuminate\Support [Laravel] đi kèm với trợ giúp. Bộ sưu tập Laravel là trình bao bọc OOP thông thạo để làm việc với mảng .

Sự khác biệt giữa mảng và Bộ sưu tập trong PHP là gì?

2. Bộ sưu tập so với Mảng Mảng chỉ là mảng bình thường, trong khi PropelCollection là Đối tượng của các Đối tượng , có rất nhiều nội dung có sẵn, chẳng hạn như. kết quả phân trang.

Bộ sưu tập trong Laravel có nghĩa là gì?

Bộ sưu tập Laravel là một tính năng hữu ích của Laravel framework. Một bộ sưu tập hoạt động giống như một mảng PHP, nhưng thuận tiện hơn. Lớp bộ sưu tập nằm ở vị trí Illuminate\Support\Collection. Một bộ sưu tập cho phép bạn tạo một chuỗi các phương thức để ánh xạ hoặc rút gọn các mảng .

Bộ sưu tập có kiểm tra trong Laravel không?

Collection trong Laravel là một trình bao bọc API giúp bạn xử lý các thao tác khác nhau được thực hiện trên mảng. Nó sử dụng lớp Illuminate\Support\Collection để xử lý các mảng trong Laravel.

Chủ Đề