Laravel Eloquent ORM - 在我能够访问它的关系之前,为什么我需要调用'父模型'?

时间:2013-05-23 09:22:44

标签: orm laravel laravel-4 eloquent

我想我可能在这里错过了一个概念,所以请随时告诉我我在做什么是错的,并指出我的方向更好。

我有一些简单的模型看起来像这样:

class Customer extends Eloquent
{
    public function contacts()
    {
        return $this->hasMany('Contact');
    }
}

class Contact extends Eloquent
{
    protected $table = "customers_contacts";
}

我的问题发生在从客户删除联系人时......在我的控制器中:

public function delete_contact($contact_id) 
{
    if ($contact_id > 0)
    {
        $customer = new Customer;
        Contact::find($contact_id)->delete();
        Session::flash('success', 'Contact deleted');
        return true;
    }
}

出于某种原因,如果没有新的客户专线,这将无法运作。对我而言,能够调用Contact模型的删除功能是有意义的,但是如果我删除了我的新Customer行,则会收到错误,告诉我找不到Contact类。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

啊哈,因为crynobone和Surt躲到我试图整洁,并将一些类定义分组在一个文件中。很有意义地考虑它。

我做了一些关于PSR-0标准和laravel自动加载的研究,现在一切都很好。

答案 1 :(得分:-1)

没有特别的理由发生这种情况。 “联系”模型是否可自行访问(可加载)? 也许你在同一个文件上设置了Contact和Customer,而且没有加载Contact,因为它不在psr0中?