1 回答

TA貢獻1869條經驗 獲得超4個贊
你需要一些關系來實現這一點。在這一點上,$grupos所有俱樂部都是一樣的。以下是您的最小表結構應該如何:
俱樂部
id (BIGINT 20)
name (VARCHAR 255)
團體
id (BIGINT 20)
name (VARCHAR 255)
club_id (BIGINT 20)
現在您可以設置模型:
俱樂部.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Club extends Model
{
protected $table = 'clubs';
public function groups () {
return $this->hasMany(Group::class);
}
}
組.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Group extends Model
{
protected $table = 'groups';
public function club () {
return $this->belongsTo(Club::class);
}
}
現在,在您加載視圖的控制器中,您可以獲取所有數據并將其傳遞:
俱樂部控制器.php
<?php
namespace App\Http\Controllers;
use App\Club;
use Illuminate\Http\Request;
class ClubController extends Controller
{
public function index (Request $request) {
$clubs = Club::with('groups')->get();
return view('clubs', ['clubs' => $clubs]);
}
}
現在,在您的視圖中顯示俱樂部:
俱樂部.blade.php
@foreach($clubs as $club)
<h1>Club: {{ $club->name }}</h1>
@if($club->groups)
<h2>Groups:</h2>
<ul>
@foreach($club->groups as $group)
<li>{{ $group->name }}</li>
@endforeach
</ul>
@else
<h2>This club has no groups.</h2>
@endif
<br>
@endforeach
我希望這對您有所幫助,并讓您更好地了解如何在 Laravel 中使用關系 :)
- 1 回答
- 0 關注
- 113 瀏覽
添加回答
舉報