我有兩個(gè)模型,一個(gè)Phrase模型和一個(gè)Translations模型。一個(gè)phrase可以有很多translations。在我的phrase模型中,我有以下關(guān)系:public function translations(){ return $this->hasMany(Translation::class);}在我的一個(gè)頁(yè)面上,我只想顯示基于某種語(yǔ)言的翻譯。例如,我要顯示 10 個(gè)短語(yǔ),包括它們的翻譯。我對(duì)數(shù)據(jù)庫(kù)中的每個(gè)短語(yǔ)有 5 個(gè)翻譯。使用 awhereHas我只返回 10 個(gè)短語(yǔ),包括它們各自的翻譯。到目前為止,一切都很好。我的whereHas:$phrases = Phrase::with('translations')->whereHas('translations', function ($query) { return $query->where('lang', 'en');})->get();這會(huì)將具有每個(gè)關(guān)系的短語(yǔ)集合返回到翻譯版本。在我的展示頁(yè)面上,我不能簡(jiǎn)單地這樣做:@foreach($phrases as $phrase) {{ $phrase->name }} // The actual Phrase name {{ $phrase->translation->name }} // The translated version of the phrase@endforeach首先,因?yàn)閠ranslation此處不存在關(guān)系:$phrase->translation,其次,它們translations也是一個(gè)集合。所以我的問(wèn)題是,如果您了解我要實(shí)現(xiàn)的目標(biāo),那么是否可以通過(guò)某種簡(jiǎn)單的方式發(fā)布類似于我發(fā)布的 foreach 之類的東西?附言。我知道我可以簡(jiǎn)單地將我的原始集合轉(zhuǎn)換為數(shù)組,但這不是我想要的。
Laravel 一對(duì)多只從集合中抓取一個(gè)對(duì)象
小怪獸愛(ài)吃肉
2023-04-28 14:41:36