2013-03-21 20 views
6

Phải, chỉ cần dọn sạch câu hỏi này với hy vọng tìm được câu trả lời.Hoàn thiện nhập khẩu MagicalRecord của tôi

Tôi đã theo dõi blog này để hoạt động nhập của tôi hoạt động.

http://www.cimgf.com/2012/05/29/importing-data-made-easy/

tôi quản lý để có được nhập khẩu làm việc một cách hoàn hảo khi JSON là theo hình thức ...

[ 
    { 
     Name: "John Smith", 
     Id: 123, 
     Company: 
     { 
      Name: "Apple", 
      Id: 1 
     } 
    } 
] 

ví dụ: khi JSON chứa các đối tượng thực tế.

Nhập sẽ tìm đối tượng và cập nhật đối tượng hiện có thay vì tạo đối tượng mới.

Tuy nhiên, một số các JSON tôi đã có định dạng ...

[ 
    { 
     Name: "John Smith", 
     Id: 123, 
     CompanyID: 1 
    } 
] 

và không có vấn đề gì tôi làm điều đó tạo ra bản sao.

Xin vui lòng ai đó có thể cho tôi biết thiết lập UserIn bản ghi Magical là gì để làm việc này.

+0

Tôi đã cố gắng ra một mẫu mã cho vấn đề của bạn, xin vui lòng xem điều này có hữu ích không. – Anupdas

+0

Tại sao lại sử dụng hai cấu trúc mô hình JSON khác nhau. Nếu đó là một tối ưu hóa và bạn biết đối tượng công ty đã tồn tại, bạn có thể sử dụng cùng một cấu trúc bằng cách chỉ giữ "Id" đó? – Anupdas

+0

Ví dụ này chỉ dành cho câu hỏi này và không giống với ứng dụng của tôi. Trong ứng dụng của tôi không có đối tượng nào được gọi là Người hoặc Công ty. Hai cấu trúc khác nhau liên quan đến các đối tượng hoàn toàn khác nhau trong ứng dụng thực tế. Tôi chỉ cố gắng để có được cả hai để làm việc. – Fogmeister

Trả lời

6

Cảm ơn câu hỏi của bạn, tôi đã có thể sử dụng thành công tính năng nhập của MagicalRecord, mặc dù tôi đã sử dụng một thời gian. Tôi đã có thể nhận được giải pháp cho vấn đề của bạn.

Tôi đoán MagicalRecord biến nó thành quy ước để sử dụng personID cho Person và companyID cho Công ty. Vì nó nằm dưới sự kiểm soát của chúng tôi, nó chỉ là một sự báo trước để biết. Nêu tôi sai vui long chân chỉnh tôi. Ngay sau khi xóa dấu gạch dưới khỏi các thuộc tính của các thực thể, nó không bị sụp đổ nữa.

Tôi đã kiểm tra đầy đủ giải pháp được đề cập dưới đây, vui lòng xem demo project code mà tôi đã sử dụng. Vì vậy, cảm thấy tự do để đặt câu hỏi.

Company 
------------- 
companyID (unique) //Removed underscore from the property 
companyName 
------------- 
persons 

Person 
------------- 
personID (unique) //Removed underscore from the property 
firstName 
lastName 
------------- 
company 

Đối với định dạng này:

{ 
     Id: 1, 
     FirstName: "John", 
     LastName: "Smith" 
     Company : 
     { 
      Id: 123 
     } 
    } 
} 

Tiếp theo nên được các quy định tại UserInfo cho mối quan hệ công ty trong người

mappedKeyName : Company (Như được sử dụng trong khóa của JSON)

relatedByAttribute : companyID (Tên thuộc tính duy nhất trong Công ty thực thể)

Đối với mô hình này:

{ 
    Id: 1, 
    FirstName: "John", 
    LastName: "Smith" 
    CompanyId: 123 
} 

mappedKeyName : CompanyId (Như được sử dụng trong khóa của JSON)

relatedByAttribute : companyID (tên thuộc tính độc đáo tại Công ty Entity)

+0

Cảm ơn. Tôi sẽ kiểm tra khi trở lại máy tính của tôi. – Fogmeister

+0

@Fogmeister Đã làm việc nhập khẩu cho bạn? – Anupdas

+0

Hãy quay lại ngay bây giờ. Sẽ cho bạn biết: D – Fogmeister

Các vấn đề liên quan