【问题标题】:Can't extend my class to Eloquent while it's already extended to BaseController无法将我的类扩展到 Eloquent,而它已经扩展到 BaseController
【发布时间】:2014-05-10 06:23:09
【问题描述】:

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

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

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

有解决办法吗?

谢谢。

【问题讨论】:

  • 从模型扩展 Eloquent 类,而不是控制器。关系应该在模型之间而不是控制器之间。

标签: class inheritance orm laravel-4 extends


【解决方案1】:

正如 SUB0DH 所说,关系应该在模型中声明,而不是在控制器中,您希望在列表模型中拥有类似的内容:

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

在您的联系人模型中,您可以使用将联系人链接到列表

public function user()
{
   return $this->belongsTo('User');
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2019-06-02
    相关资源
    最近更新 更多