微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我该如何处理此错误:未定义偏移量:0

如何解决我该如何处理此错误:未定义偏移量:0

我正在制作一个在线学校平台,部分学生可以看到带有其信息的班级。但是相关函数返回此错误:未定义偏移量:0(视图:C:\ xampp \ htdocs \ Onlineschool \ resources \ views \ admin \ student \ ClassReport.blade.PHP

模型之间存在一些关系 我的模特:

USER(学生和教师),LEVEL(班级),教室。

=>学生和教室(数据透视表)之间存在多对多的关系

请从这个愚蠢的错误中救我 用户

    class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name','email','password','image','level','code_meli',];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password','remember_token',];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',];

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

    public function ClassRoomStudent(){
        return $this->belongsToMany (classroom::class,'classroom_user','user_id','classroom_id');
    }
}

教室:

class classroom extends Model
{
    protected $fillable = [
        'title','teacher_id','level_id','day','time','price',];

    public function Student(){
        return $this->belongsToMany (user::class,'classroom_id','user_id');
    }

    public function level(){
        return $this->belongsTo (level::class );
    }
    public function teacher(){
        return $this->belongsTo (user::class );
    }

}

级别:

class level extends Model
{
    protected $fillable = [
        'title',];

    public function classroom(){
        return $this->hasMany (classroom::class);
    }
    public function exam(){
        return $this->hasMany (exam::class);
    }
}

以及我在控制器中的功能

public function MyClasses(){
    $student_id=auth ()->user ()->id;
    $classrooms=classroom::with ('level','teacher','factor')->wherehas('student',function ($q) use($student_id){
        $q->where('id',$student_id);
    })->get();
     
    return view ('admin.student.ClassReport',compact ('classrooms','student_id'));
}

最后..我的刀片:

 @foreach($classrooms as $class)
                    <tr>

                        <td>{{$i++}}</td>
                        <td>{{$class->title}}</td>
                        <td>{{$class->teacher[0]->name}}</td>
                        .
                        .
                        .
                        .
                    </tr>
            @endforeach 

解决方法

“课堂”仅属于一位老师,无需使用零索引,只需键入$ class-> teacher-> name

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。