我有 2 张桌子vendors
和partners
vendors
table 只存储了一些公司的名字,partners
table 存储了为一些公司工作的用户。所以结构是这样的:
供应商
| id | name |
+------+---------------+
| 1 | Vendor-1 |
| 2 | Vendor-2 |
| 3 | Vendor-3 |
伙伴
| id | user_name | password |vendor_id | is_owner | is_admin | is_technitian |
+----+------------+-----------+----------+------------+------------+---------------+
| 1 | abc | ^&ASKJHA | 1 | 1 | 1 | 0 |
| 2 | def | ^&ASKJHA | 2 | 1 | 1 | 0 |
| 3 | ghi | ^&ASKJHA | 1 | 0 | 1 | 0 |
| 4 | jkl | ^&ASKJHA | 3 | 1 | 1 | 0 |
| 5 | mno | ^&ASKJHA | 1 | 0 | 0 | 1 |
| 6 | pqr | ^&ASKJHA | 2 | 0 | 1 | 0 |
| 7 | stu | ^&ASKJHA | 1 | 0 | 0 | 1 |
| 8 | vwx | ^&ASKJHA | 2 | 0 | 0 | 1 |
| 9 | yz | ^&ASKJHA | 3 | 0 | 0 | 1 |
因此,正如您在上面看到的,一个合作伙伴是任何供应商的所有者,其余的合作伙伴是供应商的员工。
我正在使用 Eloquent ORM,并且我已经为合作伙伴和供应商定义了模型。我想owner
在供应商模型中添加一个方法,以便我可以直接访问任何供应商对象的所有者。我想知道的是如何在我的模型定义中将其关联起来。它是可行的还是我需要对我的数据库结构进行一些更改?
class Vendor extends Model{
/**
* Get all the users for this vendor
*/
public function users(){
$this->hasMany(Partner::class);
}
public function owner(){
// how do i relate one owner from partner model who has is_owner == 1
}
}