gpt4 book ai didi

php - Laravel 架构构建器,更新可为空的时间戳字段

转载 作者:行者123 更新时间:2023-11-30 22:21:45 26 4
gpt4 key购买 nike

我正在开发一个项目,我必须在其中存储工作信息。例如 job_start_date,job_end_date,payment_received_date。它最初可以为空。一旦作业开始,管理员将更新 job_start_date 和 job_end_date 列。所以我不能将当前日期和时间设置为这些字段的默认值。问题是,在更新 job_start_date 字段时,如果 laravel 发现 job_start_date 列为空,则会抛出错误。调用非对象的成员函数 format()。尽管我已经在我的模型中声明了 protected $dates = ['job_start_date','job_end_date','payment_received_date'];。有什么建议可以克服这个问题吗?

示例代码:

<!-- job start date -->
<div class="form-group {{ $errors->has('job_start_date') ? 'has-error' : '' }}">
<label class="col-md-4 control-label" for="job_start_date">Job Start Date</label>
<div class="col-md-4">
<input id="job_start_date" name="job_start_date" type="date" value="{{ $job_account_detail->job_start_date->format('Y-m-d') }}" class="form-control input-md">
{!! $errors->first('job_start_date','<span class="help-block">:message</span>') !!}
</div>
</div>

最佳答案

您可以在 View 中检查空值以避免错误

<input id="job_start_date" name="job_start_date" type="date" value="{{ !is_null($job_account_detail->job_start_date) ? $job_account_detail->job_start_date->format('Y-m-d') : "" }}" class="form-control input-md">

我会在模型中添加一个方法来处理验证和格式化,让我的生活更轻松:

// in your model
public function getJobStartDateInDateStringFormat() {

return !is_null($this->job_start_date)
? $this->job_start_date->format("Y-m-d")
: "";

}

然后在您的 View 中您可以调用该方法:

<input id="job_start_date" name="job_start_date" type="date" value="{{ $job_account_detail->getJobStartDateInDateStringFormat() }}" class="form-control input-md">

关于php - Laravel 架构构建器,更新可为空的时间戳字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com