PHP-Laravel5从3个SQL数据库表中获取html表中的数据,其中列数据作为标题

PHP-Laravel5从3个SQL数据库表中获取html表中的数据,其中列数据作为标题,php,mysql,database,laravel,Php,Mysql,Database,Laravel,我对PHP非常陌生,所以请容忍我-这对你来说可能是完全显而易见的,但不幸的是,我正在拔出我的头发!。。。 关于信息,我正在使用Laravel 5 我想使用SQL数据库表(teams和user_profiles)中的数据在列中列出配置文件图像,后跟用户名(两者都存储在user_profiles表中),在标题下以相关团队名称命名(存储在teams表中) 我已经设法做到这一点,在我的“管理”控制器中为每个团队手动创建了一个变量,每个变量都包含一个查询,以根据teams表中的id号获取数据 my adm

我对PHP非常陌生,所以请容忍我-这对你来说可能是完全显而易见的,但不幸的是,我正在拔出我的头发!。。。 关于信息,我正在使用Laravel 5

我想使用SQL数据库表(teams和user_profiles)中的数据在列中列出配置文件图像,后跟用户名(两者都存储在user_profiles表中),在标题下以相关团队名称命名(存储在teams表中)

我已经设法做到这一点,在我的“管理”控制器中为每个团队手动创建了一个变量,每个变量都包含一个查询,以根据teams表中的id号获取数据

my admincontroller.php中的变量示例

$team1 = DB::table('user_profiles')
->join('users', 'users.id', '=', 'user_profiles.user_id')
->join('teams', 'teams.id', '=', 'user_profiles.teams_id')
->select('users.*', 'user_profiles.*', 'teams.*')
->where(['teams.id' => 1])
->get();
在admin.blade.php中调用此命令(仅修剪为显示“team 1”)

我想要什么

|------------|---------------|------------|-------------|
|team 1      |   team 2      |   team 3   |   team 4    |
|------------|---------------|------------|-------------|
|user 1 img  |  user 2 img   | user 3 img | user 4 img  |
|User 1 name | user 2 name   | user 3 name| user 4 name |
|------------|---------------|------------|-------------|
|user 5 img  |  user 6 img   | user 7 img | user 8 img  |
|User 5 name | user 6 name   | user 7 name| user 8 name |
|------------|---------------|------------|-------------|
请告诉我,如果我需要提供任何额外的信息,任何想法非常感谢

下面是
$team1
的转储示例:

Collection {#213 ▼
  #items: array:2 [▼
    0 => {#219 ▼
      +"id": 1
      +"name": "Tom"
      +"email": REMOVED
      +"password": REMOVED
      +"admin": 1
      +"remember_token": REMOVED
      +"created_at": "2017-10-19 18:07:00"
      +"updated_at": "2017-10-19 18:08:38"
      +"user_id": 1
      +"teams_id": 1
      +"profile_pic": "http://laravel.dev/uploads/dartboard.png"
      +"team_name": "Barkers"
      +"venue": "Barker Butts"
      +"venue_post_code": "CV5 9AR"
    }
    1 => {#216 ▼
      +"id": 1
      +"name": "John Smith"
      +"email": REMOVED
      +"password": REMOVED
      +"admin": 0
      +"remember_token": REMOVED
      +"created_at": "2017-10-19 18:07:00"
      +"updated_at": "2017-10-19 18:08:38"
      +"user_id": 3
      +"teams_id": 1
      +"profile_pic": "http://laravel.dev/uploads/dartboard.png"
      +"team_name": "Barkers"
      +"venue": "Barker Butts"
      +"venue_post_code": "CV5 9AR"
    }
  ]
}

如果您的所有团队都将拥有相同数量的用户,那么您可以将以下变量添加到控制器:

// Group all of your teams in a single array
$teams = [
    $team1,
    $team2,
    $team3,
    $team4
];

// Create an array with a length equal
// to the number of necessary rows
$rows = range(0, $team1->count() - 1);
然后将它们传递到您的视图:

return view('someview')->with([
    'teams' => $teams,
    'rows' => $rows
]);
最后像这样使用它们:

@foreach ($rows as $row)
    <tr>
        @foreach ($teams as $team)
            <td>
                {{ $team[$row]->profile_pic }} <br>
                {{ $team[$row]->name }}
            </td>
        @endforeach
    </tr>
@endforeach
@foreach($rows作为$row)
@foreach($teams作为$team)
{{$team[$row]>profile_pic}}
{{$team[$row]->name} @endforeach @endforeach
希望这会给你一个想法,如何实现你正试图建立


我建议阅读。

如果您的所有团队都将拥有相同数量的用户,那么您可以将以下变量添加到控制器中:

// Group all of your teams in a single array
$teams = [
    $team1,
    $team2,
    $team3,
    $team4
];

// Create an array with a length equal
// to the number of necessary rows
$rows = range(0, $team1->count() - 1);
然后将它们传递到您的视图:

return view('someview')->with([
    'teams' => $teams,
    'rows' => $rows
]);
最后像这样使用它们:

@foreach ($rows as $row)
    <tr>
        @foreach ($teams as $team)
            <td>
                {{ $team[$row]->profile_pic }} <br>
                {{ $team[$row]->name }}
            </td>
        @endforeach
    </tr>
@endforeach
@foreach($rows作为$row)
@foreach($teams作为$team)
{{$team[$row]>profile_pic}}
{{$team[$row]->name} @endforeach @endforeach
希望这会给你一个想法,如何实现你正试图建立


我建议大家仔细阅读。

你能在问题中添加
$team1
dd()
var\u dump()
。信息方面,这还包括第三个表“用户”中的数据,用于其他目的。您是否可以在问题中添加
$team1
dd()
var\u dump()
。信息方面,这还包括第三个表“users”中的数据,用于其他目的。谢谢@Camilo,我会尝试一下。添加了一些注释,以防不清楚它是如何工作的。使用上述内容,我得到一个错误-此集合实例上不存在属性[count]:(尝试将
count
替换为
count()
。range()也会引发错误,要求至少提供2个参数,但仅提供1个。谢谢@Camilo,我会尝试一下。添加了一些注释,以防不清楚它是如何工作的。使用上述方法,我得到一个错误-此集合实例上不存在属性[count]:(尝试将
count
替换为
count()
。range()也会引发错误,要求至少提供2个参数,仅提供1个参数。