我試圖生成一個頁面,它將輸出部分標題(從一個表中檢索,即俱樂部名稱),並在這些標題(即俱樂部成員)下方輸入更多數據。Laravel 4 - Foreach查詢內部視圖中的標題
像這樣:
- 部首
- 會員1
- 會員2
- 會員3
- 部首
- 會員
- 會員
我知道這將需要2所的foreach控制,但我不知道怎麼去Laravel採取查詢,將有來自另一個查詢參數(例如查詢1提供了俱樂部ID,查詢2的成員將從查詢1中獲得該俱樂部ID)
我應該怎麼做,同時保持MVC?
我試圖生成一個頁面,它將輸出部分標題(從一個表中檢索,即俱樂部名稱),並在這些標題(即俱樂部成員)下方輸入更多數據。Laravel 4 - Foreach查詢內部視圖中的標題
像這樣:
我知道這將需要2所的foreach控制,但我不知道怎麼去Laravel採取查詢,將有來自另一個查詢參數(例如查詢1提供了俱樂部ID,查詢2的成員將從查詢1中獲得該俱樂部ID)
我應該怎麼做,同時保持MVC?
這看起來像與數據庫和模型關係有關。敵人例如,如果你有一個表club_names
和另一個表club_members
那麼你可以創建一個Club
模型像
class Club extends Eloquent {
protected $table = 'club_names';
public function members()
{
return $this->hasMany('Member', 'club_name_id');
}
}
對於這個工作,你的數據庫表需要如下
表club_names
id | club_name | other_fields
表club_members
id | club_name_id | member_name | other_fields
這裏,club_names
表id
應club_members
表的外鍵,如果然後將這些規定 - 滿足您可以訪問俱樂部的成員如下
$clubs = Club::with('members')->get();
return View::make('your_view')->with('clubs', $clubs);
在你看來那麼你可以使用
@foreach($clubs as $club)
<div class='club'>
{{ $club->club_name }}
@foreach($club->members as $member)
<div>
<p>{{ $member->member_name }}</p>
<p>{{ $member->other_fields }}</p>
</div>
@endforeach
</div>
@endforeach
閱讀更多關於relationships的網站在Laravel
。
這絕對是我正在尋找的。如果我使用hasManyThrough關係怎麼辦? (說成員只是一張擁有成員實際數據的官員等其他表的ID)。我會如何輸出? (我有查詢工作,順便說一句) – dsgunter
其實'hasManyThrough'需要三個相關的表,第一個表使用中間表的字段與第三個表使用該字段,如果你有這樣的設置,那麼你可以用它來代替。 –
這不是MVC。在將樹發送到視圖之前,應該構建樹。該觀點不應該做任何查詢。使用雄辯的ORM很容易建立這個數據結構,然後將它發送到一個視圖並在其中循環。您是否閱讀過文檔?現在你的問題太廣泛了。你有什麼嘗試? –