2我的应用程序显示了老师**(教授)**,如果我点击教授,它会显示他教授的科目(matiere)。所以我有 模型教授:
<?php
namespace App;
use App\Matiere;
use Illuminate\Database\Eloquent\Model;
class Prof extends Model
{
protected $fillable=array('nom','prenom','age','mail');
public function matieres(){
return $this->hasMany('Matiere');
}
}
现在,当我点击一位特定的老师时,我打电话给 show methode :
public function show(Prof $prof)
{
return view('Prof.show',compact('prof'));
}
然后在 show.blade.php 中尝试向老师展示主题
{!! $matiere=$prof->matieres !!}
<table class="table">
<thead><th>id</th><th>Nom matiere</th></thead>
@foreach ($matiere as $mat)
<tr>
<td>{{$mat->id}}</td><td>{{$mat->Nom}}</td>
</tr>
@endforeach
</table>
我得到的消息错误是Model.php第876行中的 FatalErrorException: 未找到“Matiere”课程
我尝试通过添加使用Matiere来解决问题; 但它没有工作
我该如何解决这个问题? thnks
答案 0 :(得分:0)
我通过更改2个模型来解决问题
教授:
<?php
namespace App;
use App\Matiere;
use Illuminate\Database\Eloquent\Model;
class Prof extends Model
{
protected $fillable=array('nom','prenom','age','mail');
public function matieres(){
return $this->hasMany(Matiere::class,'id_prof'); //Correction
}
}
Matier:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Prof;
class Matiere extends Model
{
protected $fillable=array('Nom');
public function profs(){
return $this->BelongsTo(Prof::class,'id_prof'); //Correction
}
}