[嘿,我在编码和laravel方面还很新。我试图在这里构建一个应用程序,我认为我搞砸了,但是找不到解决方法。 ]例外。我有两张桌子,多对多关系。我想在视图“ viewteams.blade.php”中显示用户所属的团队。
我的用户模型
public function users(){
return $this->belongsToMany(Team::class);
}
我的团队模型
public function teams(){
return $this->belongsToMany(User::class);
}
我的路线
Route::get('/viewteams','ViewTeamController@index');
我的ViewTeamController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Team;
use App\User;
class ViewTeamController extends Controller
{
public function index()
{
$teams = Team::all()->load('users');
return view('teams.viewteams',compact('teams'));
}
}
我的viewteams.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header"><h2 style="text-align:center;">Your Teams</h2></div>
@foreach ($teams as $team)
@foreach($team->users as $user)
{{$user->org_name}}
@endforeach
@endforeach
<div class="card-body">
</div>
</div>
</div>
</div>
</div>
@endsection
User
模型与teams
相关。您已给出正确的关系,但函数名称错误。
在User.php
表中,您的函数名称应为teams
和
在Team.php
文件中,您的函数名称应为users
用户模型
public function teams(){
return $this->belongsToMany(Team::class);
}
团队模型
public function users(){
return $this->belongsToMany(User::class);
}
控制器。
public function index()
{
$teams = Team::with('users')->get();
return view('teams.viewteams',compact('teams'));
}