异常属性[ ]在这个集合实例上不存在。

问题描述 投票:0回答:1

我想知道参加考试的学生的ID. 我在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);

}
php laravel relationship laravel-6
1个回答
0
投票

使用 pluck() 从你的passers集合中获取所有id。

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

这个方法将取 etudiant_id 从您的收藏中的每个项目中提取,并将它们一起返回到一个数组中。

© www.soinside.com 2019 - 2024. All rights reserved.