Php 显示外键
我有两张桌子,第一张桌子是有3个场地的俱乐部,id_club,name_club,type_sport_club,第二张桌子是有3个场地的membres,id_membre,name_membre,fk_club 在我的文件夹membres index.blade.php中,我收到一条错误消息 SQLSTATE[42S22]:未找到列:where子句中的1054 Champ'clubs.id'未知SQL:select*from clubs where.id=1 limit 1 是我忘了什么吗Php 显示外键,php,laravel,Php,Laravel,我有两张桌子,第一张桌子是有3个场地的俱乐部,id_club,name_club,type_sport_club,第二张桌子是有3个场地的membres,id_membre,name_membre,fk_club 在我的文件夹membres index.blade.php中,我收到一条错误消息 SQLSTATE[42S22]:未找到列:where子句中的1054 Champ'clubs.id'未知SQL:select*from clubs where.id=1 limit 1 是我忘了什么吗 &
<div class="px-content">
<div class="page-header">
<div class="row">
<div class="col-md-4 text-xs-center text-md-left text-nowrap">
<h1><i class="px-nav-icon ion-android-apps"></i>Liste des enregistrements</h1>
</div>
<hr class="page-wide-block visible-xs visible-sm">
<!-- Spacer -->
<div class="m-b-2 visible-xs visible-sm clearfix"></div>
</div>
</div>
<div class="row">
<div class="panel">
<div class="panel-body">
<div class="table-responsive">
<table class="table">
<a class="btn btn-sm btn-success" href="{{ route('membres.create') }}">Ajouter</a>
<thead>
<tr>
<th>Name</th>
<th>Club</th>
</tr>
</thead>
@foreach($membres as $membre)
<tr>
<td> {{$membre->name_membre}}</td>
<td> {{$membre->club->name_club}}</td>
<td>
<form method="POST" action="{{ route('membres.destroy', $membre) }} ">
<a class="btn btn-sm btn-warning" href="{{route('membres.edit',$membre->id_membre)}}">Editer</a>
@csrf
@method('DELETE')
<button type="submit" class="btn btn-sm btn-danger">Deleter</button>
</form>
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
</div>
{!! $membres->links() !!}
</div>
@endsection
谢谢你我很确定你在Membre模型上添加关系时没有传递正确的键。它应该类似于:
public function club()
{
return $this->belongsTo('App\Club', 'fk_club', 'id_club');
}
此外,您必须将与俱乐部模型的关系更新为:
public function membres()
{
return $this->hasMany('App\Membres', 'fk_club', 'id_club');
}
您首先要告诉的是clubs表的列是什么,id列被称为id_club,因此它应该是clubs.id_club我们可以看到您将模型传递到视图的控制器吗?选择*FROM clubs where clubs.id_club=1 LIMIT 1就可以了。关于模型membre,我有这个受保护的$filleble=['name_membre','fk_club'];公共功能俱乐部{return$this->belongsTo'App\club',fk_club'}也放上另一个ID,因为它与Laravel standards@Matei Mihai不同:对不起,我不明白…我有5.6版。。。对于{return$this->belongsTo'App\Club',fk_Club'},我通过{return$this->belongsTo'App\Club',id_Club'}?@anais_stemb更改答案。。将其更改为$this->belongsTo'App\Club'、'fk\u Club'、'id\u Club',您必须为关系提供两列
public function membres()
{
return $this->hasMany('App\Membres', 'fk_club', 'id_club');
}