【问题标题】:How to store week days + time in the database如何在数据库中存储工作日+时间
【发布时间】:2019-08-28 20:43:43
【问题描述】:

我正在 Laravel 上构建应用程序,我对它完全陌生,基本上我想将工作日 + 时间添加到数据库中,但不知道要选择什么数据类型以及如何以 HTML 形式制作它。

我有大学俱乐部,他们有特定的工作日和培训时间:例如:作为管理员,我想从下拉列表中设置工作日:比如星期一,设置时间下午 6 点,而且我想添加功能,例如如果我有超过 1 次培训,我按“+”并添加另一天和时间并将其存储在数据库中;

问题

  1. 我需要在我的mysql表中创建什么列
  2. 在控制器中写什么
  3. 如何创建表单

【问题讨论】:

  • 在数据库中你应该使用日期时间格式。要在 laravel 中处理日期,您应该阅读有关 Carbon 的内容。
  • 我不需要日期,我只需要存储工作日和时间,例如星期一晚上 9 点,这就像培训课程,例如星期一晚上 9 点和星期三下午 6 点的培训像这样

标签: laravel forms bootstrap-4


【解决方案1】:

你可以使用两个php内置函数

strtotime() 和 date()

对于数据库列,请使用 DateTime

* 你可以这样做 *

$date_to_go_in_db = date('Y-m-d H:i:s',strtotime($string_date_from_date_picker));

要从数据库中显示日期和时间,例如 6 月 26 日星期一下午 2 点等,请使用此

date('Y-m-D g:i a', strtotime($dataobject->event_date_time_from_db));

【讨论】:

  • 如果你不想让它动态灵活,那么你可以在 db 中使用 VARCHAR 并按原样获取
  • 我不需要日期,我只需要存储工作日和时间,例如星期一晚上 9 点,这就像培训课程,例如星期一晚上 9 点和星期三下午 6 点的培训像这样
  • 好的,我明白了,我建议你使用 date('D',strtotime($string_date_from_date_picker));返回类似星期二的内容然后使用 date('g:i a',strtotime($string_date_from_date_picker)) 返回类似下午 2 点的内容,然后连接两个变量并存储在数据库中的 VARCHAR 列中
  • 否则,您可以将一周中的 7 天静态循环到一个选择选项,并在 24 小时时钟中静态循环所有小时,然后在插入点将它们连接起来并插入到 VARCHAR 列中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-04
  • 2021-09-27
  • 2021-11-16
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多