我正在尝试与我的桌子(玩家和团队)建立一些关系,但我无法向玩家伙伴显示我的团队名称。
指南:团队中有很多玩家。外键(TEA_ID)位于播放器表上。
这是我的团队模型( Team.php )
class Team extends Model
{
protected $table = 'teams';
protected $primaryKey ='TEA_ID';
public function players(){
return $this->hasMany('App\Model\Player');
}
}
以下是我的模板的一部分( players.blade.php )
<?php
foreach($players as $player) {
?>
<tr>
<td><?php echo $player->PLA_ID?></td>
<td><?php echo $player->PLA_Name?></td>
<td><?php echo $player->PLA_Surname?></td>
<td><?php echo $player->PLA_Pseudo?></td>
@if($player->team)
<td><?php echo $player->team->TEA_NAME?></td>
@endif
<td>|<span class="glyphicon glyphicon-pencil"></span>|</td>
<td>|<span class="glyphicon glyphicon-trash" data-toggle="modal" data-target="#modalDelete"></span>|</td>
</tr>
这是我的玩家控制器( PlayerController.php )
public function show(){ // reçoit l'url http://monsite.fr/users avec le verbe "get" et qui retourne le formulaire.
$players = player::with('team')->get();
return view('players', ['players' => $players]);
}
以下是玩家模型( Player.php )
class Player extends Model
{
protected $table = 'players';
protected $primaryKey ='PLA_ID';
public function team(){
return $this->belongsTo('App\Models\Team');
}
}
表格播放正确显示数据,但不显示团队名称。我知道我可以使用belongsTo()方法,但我不知道我的错误在哪里。谢谢你的帮助,我会学到很多东西=)
答案 0 :(得分:0)
您应该在玩家模型中定义与Team的关系:
class Player extends Model
{
protected $table = 'players';
protected $primaryKey ='PLA_ID';
public function team() {
return $this->belongsTo('App\Model\Team');
}
}
然后您将能够以这种方式访问团队数据: (假设$ player是玩家模型的一个实例)
$player->team->TEA_NAME
希望它可以提供帮助。