0

Laravel 8 で生徒のショーを作成しようとしたときに、いくつかのエラーが発生しました。最初は生徒を作成していませんでした。次に、/students/ ページでエラーが発生しました。

null でプロパティ「country_name」を読み取ろうとしています

index.blade.php

  <tbody id="allocate-table-body">
                                        @foreach($students as $student)
                                        <tr class="id-card">
                                            <td><a target="_blank"  href=""> {{$student->id}}</a></td>
                                            <td> {{$student->name}}</td>
                                            <td>{{$student->countries->country_name}}</td>
                                            <td>{{$student->phone}}</td>
                                            <td>{{$student->work}}</td>
                                            <td>{{$student->group}}</td>
                                            <td>{{$student->email}}</td>
                                            <td><a class="btn btn-success" href="#">edit</a></td>
                                        </tr>
                                        @endforeach
                                        </tbody>

学生モデル

    class Student extends Model
{
    use HasFactory;
    public $fillable = [
        'name',
        'marital',
        'gender',
        'country',
        'city',
        'education',
        'work',
        'phone',
        'group',
        'email',
        'description'
    ];
    public function countries()
    {
        return $this->belongsTo(Country::class);
    }

}

国モデル

    class Country extends Model
{
    protected $fillable = ['id', 'phone_code', 'country_code', 'country_name'];
    use HasFactory;
    public function student()
    {
        return $this->hasMany(Student::class);
    }
}

学生コントローラー

 public function index(Request $request)
{
    $students = Student::paginate(50);
    $countries = DB::table('countries')->get();
    return view('students.index', compact( 'students','countries'));
}
4

1 に答える 1