Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel Relationships

I've been looking over relationships in Laravel 4 in the documentation and I'm trying to work out the following.

I have a table in my database called 'events'. This table has various fields that mainly contain ID's that relate to other tables. For example, I have a 'courses' table. The events table contains a field called 'course_id' which relates to the ID of the 'id' field in the courses table.

So basically, I'm after some advice on how you go about relating the two (belongsTo()?) and then passing the connected data to the view.

Here is where I am at so far http://paste.laravel.com/pf3.

I hope you guys are able to give me some advice on how best to approach this problem. Thanks.

Gaz

like image 920
Gareth Daine Avatar asked Apr 25 '13 09:04

Gareth Daine


1 Answers

This is basically the same answer as @Marko Aleksić, but with the hasOne() and belongsTo() relationships the right way around.

class Course extends Eloquent{

    protected $table = 'courses';


    public function event()
    {
        return $this->hasOne('Event'); // links this->id to events.course_id
    }
}


class Event extends Eloquent {

    protected $table = 'events';

    public function course()
    {
        return $this->belongsTo('Course'); // links this->course_id to courses.id
    }

}
like image 84
Dave Amphlett Avatar answered Nov 05 '22 07:11

Dave Amphlett