调用模型[App \ Team] laravel 6上未定义的关系[用户]

问题描述 投票:0回答:1

[嘿,我在编码和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
php mysql laravel composer-php show
1个回答
0
投票

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'));
}
© www.soinside.com 2019 - 2024. All rights reserved.