MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sửa đổi gián tiếp thuộc tính bị quá tải Laravel MongoDB

Do cách triển khai thuộc tính mô hình truy cập trong Eloquent, khi bạn truy cập $ category-> specifics , một phép thuật __get () được gọi là phương thức trả về một bản sao giá trị của thuộc tính đó. Do đó, khi bạn thêm một phần tử vào bản sao đó, bạn chỉ đang thay đổi bản sao chứ không phải giá trị của thuộc tính gốc. Đó là lý do tại sao bạn nhận được thông báo lỗi rằng bất cứ điều gì bạn đang làm, nó sẽ không có bất kỳ tác dụng nào.

Nếu bạn muốn thêm phần tử mới vào $ category-> specifics mảng, bạn cần đảm bảo rằng phép thuật __set () được sử dụng bằng cách truy cập thuộc tính theo cách setter, ví dụ:

$category->specifics = array_merge($category->specifics, $this->request->get('specifics'));


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo:Làm thế nào để Sử dụng Tổng hợp và Lưu trữ Kết quả vào Bộ sưu tập khác?

  2. Sử dụng các chức năng lâu bền trong ứng dụng hàm azure với mongodb

  3. MongoDb's $ set tương đương trong java Driver của nó

  4. cách cập nhật và chèn bản ghi trong php bằng mongodb

  5. Cách lấy lại tài liệu Gốc sau khi tổng hợp