Laravel为用户

时间:2016-10-25 16:46:45

标签: php sql database laravel eloquent

我使用Laravel作为一个小应用程序。在这个应用程序中,我添加了Laravel(版本5.3)的auth事物,所以我自动有可能注册并登录。

所以我现在得到的是一些控制器,2个vies和一个表用户,包括姓名,电子邮件和密码以及一个独特的自动递增主键。我现在想要的是让登录用户能够添加其他信息,如城市,街道,电话等。

我不想让用户能够直接在注册时添加它。我想要的是,如果用户登录,他可以导航到一个视图(假设它可以通过路径/changeUserData到达。在那里,他可以找到一个表单。在这种形式,最初是没有数据,他可以输入所有内容(就像我说的那样,像City,Street等)并保存信息。我想将这些信息保存在db中的另一个表中,名为user_infos,有几个包含城市,街道,电话等的列。我希望能够在没有主键的情况下使用第二个表,但使用外键 - 用户表的主键。

因此,该过程将导航到具有/ changeUserData形式的视图。然后在表user_infos中进行查找,如果登录用户已经在那里保存了信息。因此,我需要通过电子邮件地址(也是唯一的)查找用户的主键,该地址存储在{{auth::user()->email}}中。如果他还没有保存任何信息,那么他会得到一张空白表格,在那里他可以输入所有内容。单击“保存”,在user_infos表中创建一个新条目,其中包含输入的所有信息以及从users表中获取的外键。如果用户已有条目,则信息应已显示在表单输入中,用户还应能够编辑信息并保存更新的信息。

我知道这是很多文字。基本上我需要知道的是如何真正做数据库的事情。那么如何使用email-adress查找主键(分别是名为id的列)。然后我如何在另一个表中创建一个新行,包含此ID和输入的信息?如何从数据库中获取信息然后添加到表单输入?基本上我发现的是Eloquent ORM,但我似乎并不理解它。谁能举个例子说明我能做到这一点?

请注意,我对Laravel来说是全新的,以及这个洞对象 - 模型的事情,这可能是我之所以对此感到困惑的原因。

1 个答案:

答案 0 :(得分:0)

查看本系列https://laracasts.com/series/laravel-5-fundamentals

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

目录结构可能略有不同,因为它是Laravel稍微较旧的版本,但它会让你开始。

希望这有帮助!