我一直在寻找通过在Laravel 4的关系文件 ,我试图找出以下。
我有一个表在我的数据库称为“事件”。 此表有主要包含ID的,涉及到其他表各个领域。 例如,我有一个“课程”表。 事件表包含一个称为“COURSE_ID”字段,它涉及在课程表中的“ID”字段的ID。
所以基本上,我后你如何与这两个(属于关联()?),然后连接的数据传递到视图一些建议来的。
下面是我在迄今为止哪里http://paste.laravel.com/pf3 。
我希望你们能够给我就如何最好地处理这个问题的一些建议。 谢谢。
气
这基本上是相同的答案@MarkoAleksić,但与hasOne()和属于关联()关系的正确途径周围。
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
}
}
你需要在这两种模式,以指定的关系。 属于关联()中的一个,hasOne()在对方,因为你使用的是一比一的关系
class Course extends Eloquent{
protected $table = 'courses';
public function event()
{
return $this->belongsTo('Event');
}
}
class Event extends Eloquent {
protected $table = 'events';
public function course()
{
return $this->hasOne('Course');
}
}
然后调用它的路线或控制器将是如下:
特定事件的场(在这种情况下为1的id)
$course = Event::find(1)->course;
具体课程的事件(在这种情况下,ID为1)
$event = Course::find(1)->event;
请参阅Laravel 4文档,部分雄辩ORM: http://laravel.com/docs/eloquent#one-to-one