当我的类已经扩展到BaseController时,无法将我的类扩展为Eloquent

时间:2014-03-31 02:19:24

标签: class inheritance orm laravel-4 extends

我有一个扩展BaseController的ListingsController,这很好,我的应用程序工作。 但现在我打算创建一个新的ContactController并在它和ListingController之间创建一个关系。

每个列表应该有1个联系人,并且列表表中有一个contact_id字段。

问题是,要使用它,我需要将我的类扩展到Eloquent并且它已经扩展到BaseController,如果我改变了我的应用程序崩溃了。

有解决方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

正如SUB0DH所说,关系应该在Model中声明,而不是在Controller中声明,你希望在你的Listing模型中有这样的东西:

public function contact()
{
    return $this->hasOne('Contact');
}

在您的联系人模型中,您可以使用

将联系人链接到列表
public function user()
{
   return $this->belongsTo('User');
}

请务必阅读http://laravel.com/docs/eloquent#one-to-one