我只需要从我提交的日期中获取日期,并且日期提交类型是 DATE,但我在 Laravel 中获取日期和时间:
我的值保存在sql中:1970-04-21 我得到的值:1970-04-21 00:00:00
<?php
namespace App\Models;
use App\Models\Scopes\Searchable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Date extends Model
{
use HasFactory;
use Searchable;
use SoftDeletes;
protected $fillable = ['date'];
protected $searchableFields = ['*'];
protected $casts = [
'date' => 'date',
];
}
这是我的控制器:
public function index(Request $request): View
{
$this->authorize('view-any', Date::class);
$search = $request->get('search', '');
$dates = Date::search($search)
->latest()
->paginate(5)
->withQueryString();
return view('app.dates.index', compact('dates', 'search'));
}
如果您想在获取日期时更改日期格式,请尝试使用
accessor
<?php
namespace App\Models;
use App\Models\Scopes\Searchable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Date extends Model
{
use HasFactory;
use Searchable;
use SoftDeletes;
protected $fillable = ['date'];
protected $searchableFields = ['*'];
public function getDateAttribute($value)
{
return $this->asDateTime($value)->format('Y-m-d');
}
}