[英]Laravel 5. Eloquent relations through several tables and behaviour in foreach
[英]Foreach Loop Through Array for Datatables With Eloquent Relations
我的數據庫中有2個表格Bots
and Results
。 機器人表僅包含有關每個特定機器人的信息。 每個漫游器都應附有多個結果。 我將簡化我在專欄中的內容:
機器人表
Device | Info1 | Info2 | Info3
結果表
Device | Data1 | Data2 | Data3
如您所見,每個表都有名為Device
的列。 現在,我當然為每個表提供2個模型-有關信息如下:
機器人模型
public function results()
{
return $this->hasMany('App\Result', 'device', 'device');
}
結果模型
public function bots()
{
return $this->belongsTo('App\Bot', 'device', 'device');
}
我有一個帶有數據表的視圖,該表試圖列出每個Device
以及與該Device
相對應的每個Result
。 我這里的例子說明了引入有說服力的關系之前所做的事情。我過去只擁有結果表,因此,進行foreach和遍歷我必須在數據表上顯示的每個結果非常簡單
數據表視圖
@foreach ($results as $result)
<tr>
<td>
{{ $result->device }}
</td>
<td>
{{ $result->info1 }}
</td>
<td>
{{ $result->info2 }}
</td>
<td>
{{ $result->info3 }}
</td>
<td>
{{ $result->data1 }}
</td>
<td>
{{ $result->data2 }}
</td>
<td>
{{ $result->data3 }}
</td>
</tr>
@endforeach
現在設備名稱和信息實際上存儲在單獨的表中,如何使它起作用?
您可以使用這樣的緊急負載獲取設備信息及其相關results
$bots = Bot::with('results')->get();
現在看來,您可以這樣做
@foreach ($bots as $bot)
<tr>
<td>
{{ $bot->device }}
</td>
<td>
{{ $bot->info1 }}
</td>
<td>
{{ $bot->info2 }}
</td>
<td>
{{ $bot->info3 }}
</td>
</tr>
@foreach ($bot->results as $result)
<tr>
<td>
{{ $result->data1 }}
</td>
<td>
{{ $result->data2 }}
</td>
<td colspan="2">
{{ $result->data3 }}
</td>
</tr>
@endforeach
@endforeach
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.