当天的第2协会问题,抱歉。Laravel模特协会咨询
我有一个用户模型和商店模型。商店有许多用户,用户属于商店。这种关联很容易。
但是,我想在User和Store之间建立第二个关联。一个商店有一个经理,而一个用户可以是许多商店的经理。商店有一个叫做经理的字段。所以我希望能够做到这样的事情:
$store = Store::find($storeId);
echo $store->manager->first_name . " " . $store->manager->last_name;
我不知道如何建立这样的关联。商店有一个名为manager的字段,它与用户模型中的user_id字段相匹配。以下是我已经试过:
Store模式:
public function manager() {
return $this->hasOne('user', 'manager', 'user_id'); //tried belongsTo as well...
}
我不知道如何指定哪些字段应该加入上。我的理解是,它应该在商店中与'user_id'中的'经理'匹配在用户中,但我的理解似乎并不正确。
...我并不需要一个经理模式是吧?我希望不是......
编辑:安东尼奥的建议后:
Store模式:
public function manager() {
return $this->hasOne('user', 'user_id', 'manager');
}
用户模式:
public function managerOf() {
return $this->belongsToMany('store', 'stores', 'manager', 'user_id');
}
但是这仍然给了我一个“试图让非对象的”错误性质...
echo $store->manager->user_id;
如果你做你这话是什么让DD($ store->经理)'? – 2014-09-05 20:38:04
看来这里有一些冲突的信息。你能否进一步解释'用户属于Store'和'用户可以有很多stores' – user3158900 2014-09-05 20:43:08
经理@AntonioCarlosRibeiro返回此:字符串“mrowland”(长度= 8) – mrowland 2014-09-05 20:51:46