【发布时间】:2017-03-07 19:49:58
【问题描述】:
我正在将 Laravel 用于一个小应用程序。在这个应用程序中,我添加了 Laravel(5.3 版)的身份验证内容,因此我自动获得了注册和登录的可能性。
所以我现在得到的是几个控制器、2 个 vie 和一个表用户,具有名称、电子邮件和密码以及一个唯一的自动递增主键。我现在想要的是让登录用户能够添加其他信息,如城市、街道、电话等。
我不想让用户直接在注册时添加它。相反,我想要的是,如果用户登录,他可以导航到一个视图(可以说它可以通过路由/changeUserData 到达。在那里,他可以找到一个表单。在这个表单中,最初没有数据,他可以输入所有内容(如我所说,如城市、街道等)并保存信息。我想将此信息保存在数据库中的另一个表中,称为user_infos,其中有几列包含城市、街道、电话等。我希望第二张表没有主键,但有一个外键——用户表的主键。
因此,该过程将使用 /changeUserData 表单导航到视图。然后在表 user_infos 中查找,如果登录的用户已经在那里保存了信息。因此,我需要通过存储在{{auth::user()->email}} 中的电子邮件地址(也是唯一的)查找用户的主键。如果他还没有在那里保存任何信息,那么他会得到一个空白表格,在那里他可以输入所有内容。单击保存,在user_infos 表中创建一个新条目,其中包含输入的所有信息,以及从users 表中获得的外键。如果已经有用户条目,则信息应该已经显示在表单输入中,并且用户还应该能够编辑信息并保存更新的信息。
我知道这是很多文字。基本上我需要知道的是如何真正做数据库的事情。那么如何使用电子邮件地址查找主键(分别是名称为id 的列)。然后如何在另一个表中创建一个新行,包含此 ID 和输入的信息?以及如何从数据库中获取信息然后添加到表单输入中?基本上我找到的是Eloquent ORM,但我似乎不明白。谁能给我一个例子来说明我如何做到这一点?
请注意,我对 Laravel 以及这个洞 Object - Model 的东西完全陌生,这可能是我对此感到困惑的原因。
【问题讨论】:
-
没人能帮我吗?
-
这篇文章太宽泛了,你基本上是在问 MVC 框架是如何工作的。当然,Laravel 有自己的方法,但除了语法之外,它们与其他 MVC 并没有太大区别。你需要阅读 Laravel 教程并从头开始学习。这个问题的答案几乎只是指向 Laravel 文档的链接(这是下面有人所做的)
标签: php sql database laravel eloquent