我想要实现的是一种学徒关系,其简单的设置如下
class Apprentice
attr_accessible :apprentice, :mentor, :other_details
has_one :employee #contains the apprentice information
has_one :employee #contains the mentor information
end
class Employee
attr_accessible :name, :age, :gender
end
如何让员工成为学徒对象的学徒和导师?另外,我已经使Employee变形,因为我有其他需要使用它的对象。
非常感谢你的帮助。
答案 0 :(得分:0)
我认为这就是你所追求的:
class Employee < ActiveRecord::Base
has_one :mentor, :class_name => 'Employee', :foreign_key => 'mentor_id'
has_one :apprentice, :class_name => 'Employee', :foreign_key => 'apprentice_id'
end
答案 1 :(得分:0)
我认为最适合你所描述的问题的是自我指涉关系,“员工有导师”。您的模型可能如下所示:
# id - PK of the employee
# name - Name of the employee
# age - Age of the employee
# gender - Gender of the employee
# mentor_id - The employee's mentor
class Employee
belongs_to :mentor, class_name: "Employee"
end
这样,您可以通过搜索mentor
为nil
的员工来找到所有学徒,并且您可以通过搜索mentor
不在nil
的员工来找到所有导师import UIKit
import Parse
import ParseUI
class FirstViewController: PFLogInViewController, UITableViewDataSource, UITableViewDelegate, PFLogInViewControllerDelegate {
@IBOutlet weak var tableView: UITableView!
var textArray:NSMutableArray! = NSMutableArray()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.textArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell
cell.textLabel?.text = self.textArray.objectAtIndex(indexPath.row) as? String
return cell
}
}
。