Как я могу отобразить данные из сводной таблицы?
Я хочу отобразить user
, кому принадлежит project
, наряду с user
, который вошел в систему, и над project
, над которым ведется работа., а также их соответствующие роли.
Использую ли я ->groupBy()
?
Просмотр: index.blade.php
<table class="table table-consended">
<tr>
<th> <h4>No</h4> </th>
<th> <h4>Name</h4> </th>
<th> <h4>Role</h4> </th>
<th> <h4>Project</h4> </th>
</tr>
@foreach($users as $item => $user)
<tr>
<td>{{$item+1}}</td>
<td>{{$user->name}}</td>
<td>{{$user->role->name}}</td>
<td>{{$user->projects->project_name}}</td>
</tr>
@endforeach()
</table>
my controller.php
public function index()
{
$users = User::all();
$projects = User::pluck('name')->where('project_id', 3);
$projects = Project::all();
return view ('teams.index', compact ('user_projects', 'users', 'projects'));
}
Модели User.php
<?php
class User extends Model
{
protected $fillable = [
'name', 'email', 'password', 'role_id',
];
public function role()
{
return $this->belongsTo(Role::class, 'role_id');
}
public function projects()
{
return $this->belongsToMany(Project::Class, 'user_projects');
}
}
Models Project.php
<?php
class Project extends Model
{
use SoftDeletes;
protected $table = 'projects';
protected $fillable = [
'project_id',
'project_name',
'start_date',
'end_date',
'project_category',
];
public function users() {
return $this->belongsToMany(User::class, 'user_projects');
}
}
и у меня есть сводная таблица user_projects
есть user_id
и project_id