[英]Date formatting in Laravel
我有一個輸入3個字段( firstname
, lastname
, date
)的表單,我的問題是日期格式。
這是一個例子。 我輸入firstname
, lastname
和date
。
date
格式01-02-1980
,格式為=> 01-02-1980
。
但是在我的PhpMyAdmin中,我有一個=> 318211200,它是date
: S
在我的概述(面板)中,我也有318211200
但沒有01-02-1980
在我的AdminController中,我有:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Student;
class AdminController extends Controller
{
public function index(){
$students = Student::oldest()->paginate(5);
return view('admin.index', compact('students'))
->with('i', (request()->input('page',1)-1)*5);
}
public function store(Request $request)
{
$request->validate([
'firstname' => 'required',
'lastname' => 'required',
'date' => 'required'
]);
Student::create($request->all());
return redirect()->route('admin.index')
->with('success', 'save');
}
}
對於我的index.blade
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Date</th>
</tr>
</thead>
@foreach($students as $student)
@php
$date=date('d-m-Y', $student['date']);
@endphp
<tr>
<td> {{$student->firstname}}</td>
<td> {{$student->lastname}} </td>
<td> {{$student->date}} </td>
你有個主意嗎? 我提前謝謝你
數據庫表上的日期列必須是datatime
數據類型。 因此,這兩個選項中的任何一個都可以:
選項1:在您的遷移文件中,將“日期”列的代碼更改為
$table->dateTime('date');
然后運行artisan命令回滾並更新數據庫
php artisan migrate:refresh
然后嘗試從表單提交數據。
選項2:
從phpMyAdmin手動更改表上date
字段的數據類型。
在從表單提交數據之前,您可能必須截斷數據庫表。
可能是因為您使用了“時間”列類型。 嘗試將列定義為“日期”。 在您的遷移文件中,您應該這樣寫:
$table->date('date');
看來您的date
列數據類型可能不正確。 考慮使用datetime
。
如果希望,可以通過以下方式更改表格上的列:
ALTER TABLE students MODIFY date datetime;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.