【问题标题】:How to add only one data in database table in laravel如何在laravel的数据库表中只添加一个数据
【发布时间】:2017-09-09 13:32:55
【问题描述】:

我正在创建一个站点,并且正在为该站点创建一个通用选项页面,其中包括站点名称、徽标、社交链接,以便我可以从一个地方动态管理它们,而无需更改我所在的所有页面中的链接和文本打电话给他们。

我想要的是我在数据库中创建的表,我希望其中只有一行。如果有人尝试添加其他数据行,则不应添加,因为我只需为该站点调用一个数据。

我希望大家都清楚这个问题。 感谢您的支持。如果可以,请帮助我。请:)

【问题讨论】:

  • 那你为什么要提供表单给用户添加记录?
  • 通常在这种情况下人们使用 is_active 字段并且只从表中获取活动行
  • 您可以将这些值存储在 Laravel Config 文件中,或者简单地使用 .env 文件中的这些设置,而不是使用数据库表,因为您使用的是 Laravel。
  • @bluemoon 因为要按表单编辑社交链接或徽标
  • 简单的解决方案是在用户表is_admin中创建一个db字段,默认设置为1,然后像if(Auth::user()->is_admin){ //在此处编辑代码}else{// 到这里 }

标签: php mysql laravel phpmyadmin


【解决方案1】:

作者,

如果有人尝试添加其他数据行,则不应添加

什么意思?您是否试图避免未经授权的访问?如果是,那么你需要实现角色https://laracasts.com/discuss/channels/general-discussion/roles-and-permissions-in-laravel-5

为了管理您的站点信息,我确定您设置了一个用于更新站点信息的表单。从外观上看,您只会在点击保存或更新按钮时更新该行。我不认为你会在这里做完整的 CRUD 只是更新所以没有机会在数据库中插入新的数据行。

所以三件事:

  • 您要创建迁移,请相应地使用站点详细信息为表设置种子。运行迁移
  • 您要确保尝试访问此路由的用户有权这样做
  • 您希望在加载编辑站点信息页面时在表单字段中预填充站点信息,并且您希望在授权用户更改任何站点信息时保存表单

这样,就不会有停止进一步插入数据库的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 2014-11-17
    • 1970-01-01
    相关资源
    最近更新 更多