當天的第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