簡體   English   中英

我該如何處理這個錯誤:未定義的偏移量:0

[英]how can i handle this error : Undefined offset: 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_user','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 

Classroom 只屬於一位老師,不需要使用 de 零索引,只需輸入 $class->teacher->name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM