2014-01-29 140 views
3

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

Class Category extends Eloquent { } 

自动和表名与连接名称的复数形式(“类”),并给了我访问到我的控制器中的所有Eloquent命令,如Category::All();

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

我不能只是做一个模型叫,说:“database_handler.php”,然后干脆把所有这些类到它在同一个地方?

回答

2

是的,你可以创建一个database_handler.php文件,然后执行:

<?php 

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

你可以做你做任何PHP让我们和许多类添加到一个.php文件是你可以做的。但这不是一个好习惯,Laravel完全是用最好的开发应用程序。

要自动加载该文件,你可以做的许多事情之一:

1)这个文件添加到您的应用程序/模型文件夹中。

2)您composer.json为它添加一个条目:

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

然后,你就必须

composer dump-autoload -o 

3)为它创建一个不同的文件夹,并添加它作曲家json自动加载部分。

您选择,Laravel将让你自由地做任何你想要的。

+0

谢谢,安东尼奥。但是,我怎么称呼这些课程。我试过这个,它给了我一个“无法加载类”的错误。所以看来我需要手动加载database_handler.php文件? – Inigo

+2

您需要运行composer dump-autoload重新扫描您的模型目录以获取文件中的多个类。 –

+0

编辑回答。 –

相关问题