在models可以新建文件夹吗?

比如在models下新建一个Admin文件夹,再在里面定义admin.php模型类,而不是直接在models目录下admin.php模型类。要怎么写呢?刚学laravel,看文档也不知道怎么写?求大神们帮帮忙,给个简单的例子。
已邀请:

FiveSay - 成武

赞同来自: 安正超

先给你贴例子:
1.jpg

模型定义无差别,仍然置于顶层命名空间。
3.jpg

实际调用照旧。
2.jpg

唯一需要注意的是:若系统提示找不到类文件,请执行 php artisan dump-autoload 命令。

接下去是说明:
laravel 鼓励将模型置于顶层命名空间,每个模型都是独一无二的数据对象,从系统架构方面来讲,不会,也不应该存在命名冲突。养成这种思维方式有助于我们更好的进行“面向对象”的编程。

iloveweb

赞同来自:

你好,谢谢你的回答。你写的例子:class User extends \Cartalys\Sentry\Users\Eloquent\User是从哪里继承来的,我想写的class是想实现在Admin上一个文件夹中定义class(class User extends Eloquent {})一样的效果。我是想在控制器中调用的,不是在路由中。刚才laravel4.2两天,很多都不明白。

FiveSay - 成武

赞同来自:

1、控制器和路由的调用方法是一样的。
2、继承 \Cartalys\Sentry\Users\Eloquent\User 是因为我的项目中使用了 Sentry 这个插件作为权限管理。

iloveweb

赞同来自:

哦,我测试了下,可是我不知道怎么继承laravel的eloquent,我把路径全都写上去了,还是提示说没有找到class,真心无语啊。

FiveSay - 成武

赞同来自:

直接继承 Eloquent 即可
1.jpg

默认在 /app/config/app.php 中已经做了别名配置
2.jpg

如果一直提示找不到类那么有两个原因:
1、你用了命名空间,这样的话请继承 \Eloquent
2、索引文件出错需要重新生成,请运行 php artisan dump-autoload

要回复问题请先登录注册