【问题标题】:Laravel add additional information for userLaravel 为用户添加附加信息
【发布时间】: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


【解决方案1】:

看看这个系列https://laracasts.com/series/laravel-5-fundamentals

Eloquent 教程:https://laracasts.com/series/laravel-5-fundamentals/episodes/8

目录结构可能会有所不同,因为它是 Laravel 的稍旧版本,但它可以帮助您入门。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多