之間Laravel 5雄辯的關係我有3種型號:3款
- 父親
- 兒子
- 孫子
的關係是顯而易見的,一個父親可以有許多的兒子和他的兒子可以有許多孫子。
我想達到的是找出父親有多少孫子。
我知道,要找出他有多少兒子有我要使用這樣的:
Father::find(1)->sons->count();
但我怎麼能找出多少個孫子,他有?這裏
class Father
{
public function grandsons()
{
return $this->hasManyThrough('GrandSon', 'Son');
}
}
檢查參考:
你需要循環穿過兒子,找出每個兒子有多少孫子,然後總計他們。不幸的是我不認爲雄辯能夠以更簡單的方式做到這一點。在這個特殊情況下,我想知道是否值得編寫一個手動SQL查詢來返回父親的孫子數,然後將其稱爲父:: find(1) - > getGrandsonCount();或者其他的東西。 –
這種關係很明顯。但結構不是。父親是唯一的桌子。還有一張兒子的桌子嗎?那麼,你有一個'M..N'的橋嗎?或者你只是自己將父親連接到父表。 (使其本質上是人桌) – cjds
每個模型都有一張桌子,很明顯。父親模型$ this-> hasMany('App \ Son');兒子模型$ this-> hasMany('App \ Grandson');兩者之間有一對多的關係。 – paulalexandru