2012-03-31 27 views
5

Tôi gặp sự cố này với các mối quan hệ với Mã số DataMapper của Codeigniter. Tôi có mẫu Interviewauthor_idinterviewee_id. Cả hai đều liên quan đến id người dùng trong mô hình người dùng.CodeIgniter/Datamapper: Hai mối quan hệ một-nhiều với cùng một bảng không hoạt động

Tôi đã thử một số cách tiếp cận và không hoạt động; đây là những gì tôi có ngay bây giờ:

class Interview extends DataMapper 
{ 
    var $has_one = array(
    'interviewee' => array(
     'class' => 'user', 
     'other_field' => 'done_interview'), 
    'author' => array(
     'class' => 'user', 
     'other_field' => 'written_interview') 
); 
} 

class User extends DataMapper 
{ 
    var $has_many = array(
    'done_interview' => array(
     'class' => 'interview', 
     'other_field' => 'interviewee'), 
    'written_interview' => array(
     'class' => 'interview', 
     'other_field' => 'author') 
); 
} 

Làm thế nào để chúng ta hãy DataMapper biết rằng một mối quan hệ sẽ đi qua author_id, và người kia qua interviewee_id?

+1

Có vẻ như cần phải có trường 'user_id' nhất thiết và sau đó cho các mối quan hệ khác tôi có thể đặt tên cho các trường theo mặc định tôi muốn. Vì vậy, việc thay đổi 'interviewee_id' thành' user_id' dường như thực hiện thao tác khoan. Chỉ trong trường hợp ai đó gặp vấn đề tương tự. – Nelo

+5

Vui lòng đăng câu trả lời cho câu hỏi của riêng bạn để giúp người khác, nếu điều đó giải quyết được vấn đề của bạn: [answer]. Bạn có thể [chấp nhận] (http://meta.stackexchange.com/a/5235/159834) sau một hoặc hai ngày nếu không có câu trả lời nào tốt hơn. –

+0

Bumping này, hy vọng rằng @Nelo sẽ tạo ra và chấp nhận một câu trả lời để loại bỏ điều này từ các truy vấn "Unanswered". – swatkins

Trả lời

0

Trích dẫn Nelo người đã trả lời câu hỏi của anh trong một chú thích:

Có vẻ như cần phải có một user_id field thiết và sau đó cho các mối quan hệ khác tôi có thể đặt tên cho các lĩnh vực tuy nhiên tôi muốn. Vì vậy, thay đổi interviewee_id thành user_id seems để thực hiện thao tác khoan. Chỉ trong trường hợp ai đó có cùng một vấn đề ngoài đó

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