调用模型 [App\Team] laravel 6 上的未定义关系 [users]
Call to undefined relationship [users] on model [App\Team] laravel 6
嘿,我是编码方面的新手,laravel.I 正在尝试在这里构建一个应用程序,我想我把它搞砸了,但找不到解决方法 it.I 正在调用未定义的关系 [用户] 模型 [App\Team] 异常。我有两个具有多对多关系的表。我想在视图中显示 "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
table 中,您的函数名称应为 teams
和
在Team.php
文件中,你的函数名应该是users
用户模型
public function teams(){
return $this->belongsToMany(Team::class,'team_user','users_id','teams_id');
}
团队模型
public function users(){
return $this->belongsToMany(User::class,'team_user','teams_id','users_id');
}
控制器。
public function index()
{
$teams = Team::with('users')->get();
return view('teams.viewteams',compact('teams'));
}
嘿,我是编码方面的新手,laravel.I 正在尝试在这里构建一个应用程序,我想我把它搞砸了,但找不到解决方法 it.I 正在调用未定义的关系 [用户] 模型 [App\Team] 异常。我有两个具有多对多关系的表。我想在视图中显示 "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
table 中,您的函数名称应为 teams
和
在Team.php
文件中,你的函数名应该是users
用户模型
public function teams(){
return $this->belongsToMany(Team::class,'team_user','users_id','teams_id');
}
团队模型
public function users(){
return $this->belongsToMany(User::class,'team_user','teams_id','users_id');
}
控制器。
public function index()
{
$teams = Team::with('users')->get();
return view('teams.viewteams',compact('teams'));
}