Vậy tại sao ai đó lại sử dụng Laravel Eloquent chậm hơn thay vì mặt tiền DB nhanh hơn?
câu trả lời hay nhất
Eloquent là cách triển khai mẫu Active Record của Laravel, với tất cả các ưu điểm và nhược điểm của nó.
Bản ghi hoạt động là một giải pháp tuyệt vời để làm việc với các thực thể đơn lẻ theo cách CRUD - nghĩa là tạo một thực thể mới với các thuộc tính được điền rồi lưu nó vào cơ sở dữ liệu, tải bản ghi từ cơ sở dữ liệu hoặc xóa nó.
Bạn sẽ được hưởng lợi rất nhiều từ các tính năng của Eloquent như kiểm tra lỗi (chỉ gửi SQL UPDATE cho các trường đã thay đổi), sự kiện mô hình (ví dụ: gửi cảnh báo quản trị hoặc cập nhật bộ đếm thống kê khi ai đó tạo tài khoản mới), đặc điểm (dấu thời gian), xóa mềm, tính năng tùy chỉnh ) háo hức/lười tải, v.v. Bạn cũng có thể áp dụng mẫu theo miền và triển khai một số logic nghiệp vụ trong thực thể Bản ghi hoạt động, chẳng hạn như xác thực, quản lý mối quan hệ, tính toán, v.v.
Tuy nhiên, như bạn đã biết, Active Record đi kèm với một số mức giá về hiệu suất.
Không cần phải lo lắng khi bạn đang xử lý một bản ghi hoặc một vài bản ghi. Nhưng đối với các tình huống đọc một số lượng lớn bản ghi (ví dụ: đối với lưới dữ liệu, báo cáo, xử lý hàng loạt, v.v.), Laravel đơn giản Cơ sở dữ liệu Cách là một cách tốt hơn.
Đối với ứng dụng dựa trên Laravel, chúng tôi đã sử dụng hai cách tiếp cận mà chúng tôi thấy phù hợp. Chúng tôi sử dụng các biểu mẫu Eloquent for UI của Laravel để xử lý các bản ghi riêng lẻ và sử dụng Cơ sở dữ liệu Các phương thức (được SQL View hỗ trợ với khả năng điều chỉnh hiệu suất dành riêng cho công cụ cơ sở dữ liệu bổ sung) để truy xuất dữ liệu từ các bảng giao diện người dùng, tác vụ xuất, v.v. Nó cũng hoạt động tốt khi sử dụng API RESTful - Eloquent cho GET, PUT, POST, DELETE (có khóa) và Cơ sở dữ liệu Đối với GET (không có khóa nhưng có bộ lọc, sắp xếp và phân trang).
Về ngoại hình Laravel Eloquent vs DB: Tại sao nên sử dụng Eloquent và giảm hiệu suất?, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/38391710/
Tôi đã cài đặt trình soạn thảo, nhưng khi xem tài liệu của Laravel, tôi đang gặp khó khăn với: "Hãy đảm bảo rằng bạn có thư mục ~/.composer/vendor/bin trong PATH để chạy laravel trong thiết bị đầu cuối của bạn
Tôi muốn chèn khóa ngoại trong quá trình di chuyển thay vì thêm giá trị khóa ngoại vào 1 `public function up() { Schema::table('users', function (Bluepri
Đây là một lỗi mở trên Github đối với gói laravel-mongodb nhưng không có gì xảy ra. Có lẽ ai đó biết giải pháp ..? Khi được chọn làm một tài liệu, ngày sẽ xuất hiện dưới dạng Date{ "_id": "5ca
Tôi có một ứng dụng Laravel mà tôi sử dụng làm API cho một ứng dụng lớn hơn được xây dựng trong Joomla. Tôi thực sự thích sử dụng Laravel và quyết định sử dụng Eloquent trong ứng dụng Joomla của mình. Tôi đã đỗ ở La
Tôi có hai ứng dụng Laravel sử dụng cùng một cơ sở dữ liệu và do đó có cùng một người dùng và mật khẩu. Giả sử các ứng dụng được gọi là A và B. Nếu người dùng đăng nhập vào A, tôi có thể làm gì để họ tự động đăng nhập vào B? Vì vậy nếu họ đăng nhập vào A thì khi họ
Tôi đang xem mã nguồn của Laravel trên github và nhận thấy rằng có một laravel/laravel và một laravel/framework. Cả hai đều liên kết đến cùng một tài liệu trên trang web và trạng thái của Laravel.
Tôi đang cố cập nhật laravel từ phiên bản 5.4 lên 5.5. Tôi đã làm mọi thứ theo hướng dẫn trong hướng dẫn Laravel: https://laravel.com/docs/master/upgrade
Tôi đang cố gắng thêm một số giá trị mới cho mỗi người dùng từ foreach nhưng vì tôi đang sử dụng get nên giờ tôi không thể sử dụng phân trang trong phản hồi, nhưng tôi cũng cần thêm các giá trị này cho mỗi người dùng. Có ý tưởng gì không? thống kê chức năng công cộng
Tôi muốn tải lên một tập hợp tệp trong Laravel nhưng tôi không chắc chắn về đường dẫn và đối tượng lưu trữ của tệp. Tám bây giờ dữ liệu được lưu trữ nhưng trong trường hợp của tôi đường dẫn là #. Trong hình ảnh bên dưới, tôi có dữ liệu được gửi từ phía trước (Vuejs và tôi đang sử dụng vue-upload-com
Tôi gặp sự cố khi tải trước trong Laravel khi sử dụng bảng tổng hợp ba chiều. Các cài đặt cơ sở dữ liệu như sau: +-------+--------+-------+-------------+ giao dịch | địa điểm |
Tôi đang làm việc trên một dự án blog laravel 5.7. Tôi muốn bình luận về một bài viết. Tôi cần thực hiện điều này: trước khi đăng nhập, tôi có thể nhập bất kỳ nội dung nào vào vùng văn bản nhận xét trước khi gửi nhận xét (điều này tất nhiên sẽ bị phần mềm trung gian xác thực chặn) và sau đó tôi được chuyển hướng đến trang đăng nhập sau khi đăng nhập
Tôi đang cố gắng tạo một URL tạm thời cho một tệp trong ứng dụng của mình. Tôi có thể tải tệp lên nhóm S3 và tôi có thể sử dụng phương thức \Storage::temporaryUrl($this->url, now()->addHo
Điều gì xảy ra nếu một mô hình Eloquent được chuyển làm đầu vào cho một công việc được xếp hàng đợi của Laravel, nhưng mô hình đó bị xóa trước khi công việc đó chạy trong hàng đợi? Ví dụ: tôi đang sử dụng Laravel 5.2 để xây dựng một trang web thương mại điện tử nơi khách hàng có thể
Tôi đang cố chạy thử nghiệm đơn vị nhập dữ liệu vào cơ sở dữ liệu trước khi chạy thử nghiệm. Tôi đã xác định một phương pháp thiết lập chạy cho mọi trường hợp thử nghiệm mà tôi không muốn. Phương pháp thiết lập thực hiện tốt mà không gặp vấn đề gì. Điều tôi muốn là nhập dữ liệu vào cơ sở dữ liệu một lần và sau đó được sử dụng bởi tất cả các trường hợp thử nghiệm. Địa điểm
ngày tốt lành. Ví dụ: tôi có một mô hình Mọi người có trường/thuộc tính: tên họ và mô hình cũng có phương thức này: public function FullName() { return "{$
Tôi không thể hiểu cách hoạt động xác thực sự tồn tại của Laravel khi kiểm tra các bản ghi hiện có trong cơ sở dữ liệu. Ví dụ: liệu yêu cầu POST có user.id = 1 có thể sử dụng quy tắc xác minh hay không: 'id' => 'exists:users'
Tôi đang sử dụng Laravel 5.2 để tạo một trang web, điều tôi muốn làm là CHÈN 3 hàng cùng lúc, 3 hàng mới phải chứa dấu thời gian create_atupdate_at. chèn bằng phương thức Trình tạo truy vấn, đúng vậy
Tôi đang cố chuyển một số dữ liệu tới Bộ điều khiển của mình thông qua Hành động href. Tôi không biết tại sao, nhưng laravel sử dụng phương thức GET để truyền dữ liệu, nhưng tôi cần POST thay vì GET. Tôi thực sự không hiểu tại sao
Tôi gặp sự cố khi thư mục lưu trữ của tôi trên máy chủ đặt lại 2 ngày một lần. Vì vậy, tôi đã chạy các lệnh này và đã sửa được: sudo chown -R $USER:www-data storage sudo chown -R $U
Tôi là một lập trình viên xuất sắc, rất giỏi!