甚至在添加使用后,我在Model.php第876行中得到FatalErrorException:找不到类'Matiere'

时间:2017-03-09 14:04:44

标签: php eloquent laravel-5.2 blade laravel-routing

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

1 个答案:

答案 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
    }
}