我有2个表,第一个是具有3个字段(id_club,name_club,type_sport_club)的 clubs ,第二个表是具有3个字段(id_membre,name_membre, fk_club)。
在我的文件夹membres index.blade.php中,我收到一条错误消息
SQLSTATE [42S22]:找不到列:1054 where子句中的冠军'clubs.id'未知(SQL:从
clubs
中选择*,其中clubs
。id
= 1限制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
有关信息
public function up()
{
Schema::create('membres', function (Blueprint $table) {
$table->increments('id_membre');
$table->string('name_membre');
$table->integer('fk_club')->unsigned();
$table->foreign('fk_club')->references('id_club')->on('clubs');
$table->timestamps();
});
}
谢谢
答案 0 :(得分:1)
我很确定在Membre
模型上添加关系时您没有传递正确的键。它应该类似于:
public function club()
{
return $this->belongsTo('App\Club', 'fk_club', 'id_club');
}
此外,您必须将与Club
模型的关系更新为:
public function membres()
{
return $this->hasMany('App\Membres', 'fk_club', 'id_club');
}