我有三个表,结构类似于下面的表:
employees offices postings
________ ________ ___________
id id employees_id
name name offices_id
所以我想知道如何从Employee模型中获取办公室名称。将office
放在$hasOne
数组shows Unknown column 'office.employees_id' in 'on clause'
中。如何在结果中获取办公室名称?
答案 0 :(得分:1)
如果你想坚持你的数据库,你可能会使用has并且属于许多关系。 在employee.php中:
public $hasAndBelongsToMany = [
'Office'=> [
'foreign_key' => 'employees_id',
'joinTable' => 'postings',
'associationForeignKey' => 'offices_id',
]
];
然后你可以从员工模式上任。
我真正想要建议的是将office_id
列放在employees
表中,然后将
$public $belongsTo = ['office'];
在您的员工模型中。
PS:在PHP 5.4或更高版本中支持括号[]
,如果您使用的是php 5.3或更低版本,则可能需要将其替换为array()
。