我有
users
id
username
companies
id
areas
id
area_company
id
area_id
company_id
area_company_user
id
area_company_id
user_id
company_user
id
company_id
user_id
area_user
id
area_id
user_id
在哪里
用户
有0到多个区域
,一个区域
可以有0到多个用户
此外,我正在以以下方式构建路线
/用户
-所有现有用户/区域
-所有现有区域/公司
-所有现有公司/区域/{区域}/公司
-特定区域中的所有现有公司/用户/{user}/公司
-来自特定用户的所有现有公司/区域/{区域}/公司/{公司}/用户
-存在于特定区域的公司的所有现有用户对于1。,2。和3。我在创造遵循下一个模式的控制器
AreaController
with方法index()、create()、store()、show()、edit()、update()和destroy()GET /areas, index() method,
GET /areas/create, create() method,
POST /areas, store() method,
GET /areas/{area}, show() method,
GET /areas/{area}/edit, edit() method,
PUT/PATCH /areas/{area}, update() method,
DELETE /areas/{area}, destroy() method.
路线表上只剩下两个案子了
我的问题是,既然我想在每个案例中执行各种操作,我应该为每个案例创建新的控制器吗?如果是,那就意味着分别
areaCompanyController
,UserCompanyController
和CompanyareaController
areaCompanyUserController
注意:这是一个有用的答案,但并没有完全解决我的问题。
为了简化项目的调试和维护过程,最好为每种情况定义控制器,以防出现问题,调试和解决问题很容易
AreaController , UserController , CompanyController
你可以看到文档中已经有了一种叫做嵌套资源的东西,它可以覆盖你的案例4,5,6。在文档中有PhotoCommentController
,您已经描述了您正在使用它(问题案例1)。对于问题案例2,您可以例如为透视表制作模型,并将其用于路由和控制器。例如areaCompanyUserController
如果我理解的好,你有这里的area_company
透视表与用户的关联。如此多的用户可以是同一个area_company
关联的一部分。您可以绕过区域和公司模型,使用区域公司模型,这将是枢轴模型。了解透视模型的id,您可以轻松地获得关联区域、公司和用户。
class AreaCompany extends Pivot
{
/** code here */
}
这样,您就可以将资源路由命名为/area companys
和/area companys/{$areaCompany}/users
,以避免三重嵌套。我认为这些决定中的任何一个都有自己的后果,比如控制器的子目录规划、表单请求文件、提供者,有时甚至路由文件。可能听说读过上千遍,但重要的是要坚持一贯的方式。考虑一下在一些潜在的升级中可能会出现更少的技术债务。
本文向大家介绍Laravel 控制结构,包括了Laravel 控制结构的使用技巧和注意事项,需要的朋友参考一下 示例 Blade为常见的PHP控制结构提供了方便的语法。 每个控制结构@[structure]均以开头和结尾@[endstructure]。注意,在标记中,我们只是键入普通的HTML,并使用Blade语法包括变量。 有条件的 '如果'陈述 除非声明 (“如果不是”的简短语法。) 循环 “
所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。
编辑:我才明白问题到底出在哪里。我需要构造函数从超类获取信息。因此,我需要像这样扩展类中的超类: 如果取消对extends favoriten部分的注释,它将加载构造函数和initialize方法。
我正在构建一个Javafx gui应用程序,我正面临这个问题。我的程序有多个场景,所以我有不同的FXML文件和控制器类。问题是,在第一个“主菜单”(这是我的应用程序中弹出的第一个)场景中,在控制器的构造函数中,我调用了一些从数据库加载数据的重型方法等等。所以会发生什么。在接下来的场景中我确实有“主菜单按钮”,即切换到主菜单场景!所以每次我回到“主菜单”场景时,构造函数都会调用大量加载数据的方法。但
流程控制语句对于程序设计来说特别重要,它可以用于设定程序的逻辑结构。一般需要与条件判断语句结合使用。Lua 语言提供的控制结构有 if,while,repeat,for,并提供 break 关键字来满足更丰富的需求。本章主要介绍 Lua 语言的控制结构的使用。
Control structures 控制结构 The control structures of Go are related to those of C but differ in important ways. There is no do or while loop, only a slightly generalized for; switch is more flexible; if