【问题标题】:view date in three input field as day month & year in laravel在laravel中将三个输入字段中的日期查看为日月和年
【发布时间】:2019-10-24 13:30:59
【问题描述】:

在数据库中存储 dob 作为日期格式,如 m/d/y。我想在 3 个不同的字段日字段、月份字段、年份字段中显示在 html 页面上。我试过 {{Auth::user()->dob[month]}} 但不能在 laravel 中工作。请建议我如何在 3 个不同的字段中显示日期。


<div class="form-group clearfix">
  <label for="dob_month" class="sr-only">Month</label>
      <select name = "month" id="m" class="form-control" value="{{Auth::user()->dob['month']}}"/>
           <option value="">Month</option>      
            @for ($month = 1; $month <= 12 ; $month++)                  
            <option value = "{{ $month }}">{{ $month }}</option>                  
            @endfor
      </select>
</div>

【问题讨论】:

  • 如果数据库是日期数据类型date还是其他一些数据类型?
  • 数据库中的日期数据类型
  • 请显示一个保存在数据库中的日期值
  • 在你的用户模型中也显示Auth::user()-&gt;dob[month]
  • @SaurabhMistry 值为 1996-03-15,是的,这是在用户模型中

标签: php laravel-5


【解决方案1】:

其中dob 是作为日期存储在数据库中的字段,并且通过 Eloquent 模型查询包含该字段的记录,它被隐式转换为 Carbon\Carbon 的实例。

请注意,month 属性无法在实例上使用数组索引访问来检索,而只能通过 object property getters 进行检索:

Auth::user()->dob->month

【讨论】:

【解决方案2】:

这样获取月份值:

\Carbon\Carbon::createFromFormat('Y-m-d',Auth::user()->dob)->format('m')

<div class="form-group clearfix">
         <label for="dob_month" class="sr-only">Month</label>
           <select name = "month" id="m" class="form-control"/>
           <option value="">Month</option>
            @for ($month = 1; $month <= 12 ; $month++)                                                
              @if($month==\Carbon\Carbon::createFromFormat('Y-m-d',Auth::user()->dob)->format('m'))
            <option value = "{{ $month }}" selected>{{ $month }}</option>
            @else
            <option value = "{{ $month }}">{{ $month }}</option>
            @endif
            @endfor
    </select>
</div>

【讨论】:

【解决方案3】:
<select name = "month" id="m" class="form-control" value=""/>
   <option value=" {{\Carbon\Carbon::parse(Auth::user()->dob)->format('m')}}"> 
    {{\Carbon\Carbon::parse(Auth::user()->dob)->format('m')}}
   </option>      
   @for ($month = 1; $month <= 12 ; $month++)                  
     <option value = "{{ $month }}">{{ $month }}</option>                  
  @endfor
</select>

Try This It Will Work for You

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多