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 关注
- 100 浏览
添加回答
举报