Laravel模型包含多个类

时间:2014-01-29 13:13:17

标签: laravel laravel-4

我是来自Codeigntier的laravel新手。我试图掌握Laravel使用的模型/类/雄辩的约定。我知道我可以在我的数据库中创建一个名为“类别”的表。然后我可以在名为category.php的models文件夹中创建一个文件,其中只包含以下代码:

Class Category extends Eloquent { }

使用复数版本的名称(“categories”)自动连接表名,并允许我访问控制器中的所有Eloquent命令,如Category::All();

这是我没有得到的:我是否需要为数据库中的每个表创建一个新模型?在这种情况下,我将在我的models文件夹中找到一堆文件,其名称如resource1.php,resource2.php等,每个文件只包含与上面相同的代码(替换类的名称)。

我不能只创建一个名为“database_handler.php”的模型,然后将所有这些类放在同一个地方吗?

1 个答案:

答案 0 :(得分:2)

是的,您可以创建database_handler.php文件并执行:

<?php

    Class Category extends Eloquent { }
    Class Post extends Eloquent { }
    Class Client extends Eloquent { }

你可以做任何PHP让你做的事情,并且可以在单个.php文件中添加许多类。但这不是一个好的做法,Laravel就是用最好的方法开发应用程序。

要自动加载此文件,您可以执行以下操作之一:

1)将此文件添加到您的app / models文件夹中。

2)在你的composer.json上添加一个条目:

"autoload": {
    "files": [
        "app/database_handler.php"
    ]
},

然后你必须

composer dump-autoload -o

3)为它创建一个不同的文件夹,并将其添加到composer json自动加载部分。

你选择,Laravel会让你自由地做你想做的事。