2011-12-13 43 views
38

Trong ứng dụng của tôi, mọi thứ tôi làm với dữ liệu đều dựa trên khóa chính khi dữ liệu được lưu trữ trong cơ sở dữ liệu. Tôi muốn lấy một mô hình từ một bộ sưu tập dựa trên khóa này.Làm cách nào để lấy mô hình từ bộ sưu tập Backbone.js bằng id của nó?

Sử dụng Collection.at() yêu cầu chỉ mục mảng, Collection.getByCid() yêu cầu ID khách hàng mà đường trục tạo ngẫu nhiên.

Cách tốt nhất để lấy mô hình tôi muốn từ bộ sưu tập với giá trị id đã cho là gì? Tôi hình tồi tệ nhất tôi có thể làm là để lặp qua từng mục, .get ('id'), và trả lại cái đó.

+7

Không phải là phương pháp bạn đang tìm kiếm? http://documentcloud.github.com/backbone/#Collection-get – nikoshr

+0

Cảm ơn! Tôi đã đọc lướt qua .get() vì tôi giả sử nó là một phần của kho khóa/giá trị thuộc tính của họ ... Nếu bạn trả lời câu hỏi tôi có thể trao cho bạn câu trả lời. –

Trả lời

60

Hãy nhìn vào method get, nó có thể giúp đỡ một số :)

http://backbonejs.org/#Collection-get

đượccollection.get (id)
Nhận một mô hình từ một bộ sưu tập , được chỉ định bởi id, cid hoặc bằng cách chuyển vào một mô hình.

+3

Tôi sẽ lưu cho bạn một cú nhấp chuột. Toàn bộ tài liệu có: Lấy một mô hình từ một bộ sưu tập, được chỉ định bởi một id, một cid hoặc bằng cách truyền vào một mô hình. var book = library.get (110); – DOK

7

Nếu dữ liệu của bạn đòi hỏi bạn phải sử dụng một loại khác nhau của chính hoặc một bộ mà không lưới tốt với at(), getByCid() hoặc get(), đó cũng là where(). Một cái gì đó như thế này có thể hoạt động:

window.lib = new Library; 
window.lib.fetch([ 
    success: function(model, response) { 
     console.log(window.lib.where({'BookID':488, 'Rev':2, 'Status':'Active'}); 
    } 
}); 
Các vấn đề liên quan