Php 指定日期对象时,使用now()更新日期字段
我的问题是关于laravel Eloquant模型系统的日期属性更新 有时当我更改指令属性(有时甚至是日期)时,指令属性更新成功,但日期属性设置为“现在”,这是不正常的 但是,当我使用我的更新功能(见下文)只更新日期时,我的问题就不会出现。 这个问题并不是每次都出现,我不明白为什么 我的php应用程序运行在Apache2服务器上,PHP7.3、Laravel5.8和MariaDB 10.3.15 我试图在指令更新和日期更新后保存我的模型,但我没有改变任何东西。 此外,保存后$delivery var的转储显示正确的日期,但在数据库中注册的日期与“updated_at”属性的日期相同 控制器中的“我的更新”功能:Php 指定日期对象时,使用now()更新日期字段,php,laravel,date,model,Php,Laravel,Date,Model,我的问题是关于laravel Eloquant模型系统的日期属性更新 有时当我更改指令属性(有时甚至是日期)时,指令属性更新成功,但日期属性设置为“现在”,这是不正常的 但是,当我使用我的更新功能(见下文)只更新日期时,我的问题就不会出现。 这个问题并不是每次都出现,我不明白为什么 我的php应用程序运行在Apache2服务器上,PHP7.3、Laravel5.8和MariaDB 10.3.15 我试图在指令更新和日期更新后保存我的模型,但我没有改变任何东西。 此外,保存后$delivery v
public function update(UpdateDeliveryRequest $request)
{
$delivery = Delivery::find($request->input('id'));
if (!(is_null($request->input('instructions'))))
$delivery->instructions = $request->input('instructions');
$date = Carbon::create($request->input('date'));
$date->shiftTimezone(Config::get('app.timezone'));
$date->setTimezone('UTC'); // Set time to UTC for storing
$delivery->date = $date;
$delivery->save();
}
我的交付模式:
class Delivery extends Model
{
use SoftDeletes;
protected $fillable = [
'deliveryForm_id', 'user_id', 'date', 'instructions',
];
protected $dates = [
'date',
];
}
日期属性必须由用户选择。
attibute是一个字符串,也是由用户编写的
在任何情况下,我都希望我的date属性与输入日期相等
感谢您的帮助。您确定
Carbon::create($request->input('date'))
返回您期望的日期吗?我怀疑输入日期无法解析,因此现在使用。如果您添加$date=Carbon::dayed()代码>保存之前,这会更改存储在数据库中的日期吗?是的,我确信转储会给出正确的日期。添加碳::昨天到现在并没有改变任何事情