samedi 30 janvier 2016

One to Many relationship in Laravel Eloquent giving undefine method

I am having the said problem when defining one to many relationship with two models, the Student and Enrollment. When accessing the table from another table using :

$enrollment->students()->first_name

Can someone help me on this.

Enrollment

    protected $fillable = [
    'subject_code',
    'subject_description',
    'section',
    'schedule',
    'room_no',
    'no_of_units'
];

public function students()
{
    return $this->hasMany('App\Student');
}

Student

   protected $fillable = [
    'student_id',
    'first_name',
    'last_name',
    'middle_name',
    'birthdate',
    'fathers_name',
    'mothers_name',
    'phone_no',
    'degree_id',
    'city_id',
    'address'
];

public function enrollment()
{
    return $this->belongsTo('App\Enrollment');
}

Here's the table for the students and enrollment accordingly

        Schema::create('enrollments', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('student_id');
        $table->string('subject_description');
        $table->string('subject_code');
        $table->time('schedule');
        $table->string('room_no');
        $table->integer('no_of_units');
        $table->string('section');
        $table->timestamps();
    });

           $table->increments('id');
        $table->integer('student_id');
        $table->string('first_name');
        $table->string('last_name');
        $table->string('middle_name');
        $table->date('birthdate');
        $table->string('fathers_name');
        $table->string('mothers_name');
        $table->string('phone_no');
        $table->string('address');
        $table->integer('city_id');
        $table->integer('degree_id');
        $table->timestamps();
    });



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire