提问者:小点点

此集合实例上不存在异常属性[]


我想知道参加考试的学生的身份。 我在Laravel利用关系,我不知道我错过了什么。 下面是代码:

我的模型

考试模型:

class Examen extends Model
{
    protected $guarded = [];


    public function professor()
    {
        return $this->belongsTo(Professor::class,'prof_id');
    }

    public function questions()
    {
        return $this->hasMany(Question::class);
    }

    public function examen_passers()
    {
        return $this->hasMany(Examen_passer::class);
    }
}

考试模式:

class Examen_passer extends Model
{
    protected $guarded = [];

    public function examen()
    {
        return $this->belongsTo(Examen::class);
    }

    public function reponses()
    {
        return $this->hasMany(Reponse::class);
    }

      public function reponsestxt()
    {
        return $this->hasMany(Reponsetxt::class);
    }
}

我的控制器:

public function corriger()
    {
 $examen = Examen::where('prof_id',Auth::guard('professor')->id())->get();
 dd($examen->examen_passers->etudiant_id);

}

共1个答案

匿名用户

使用Pluck()从passers集合中获取所有ID:

$examen->examen_passers->pluck('etudiant_id');

此方法将从集合中的每个项中获取etudiant_id的值,并将它们一起返回到数组中。