使用 laravel 更新日期时间列
Update dateTime column with laravel
我的数据库中有一个引脚 table,其中有一个 pin_date 列。
在我的迁移中,我有这个:
$table->dateTime('pin_date')->nullable();
我有一个指向 post 路线的按钮
Route::post('/pins/pin-date/{id}', 'PinsController@pinDate');
导致 pinDate 控制器方法:
public function pinDate($id)
{
$pin = Pin::find($id);
$pin->save();
}
我想在单击按钮并点击路线时将数据库中的 pin-date 列更新为当前日期和时间。我不太确定该怎么做。任何帮助将不胜感激!谢谢!
我会在模型为 saving
时执行此操作,您可以绑定到 model
的 boot
函数并将其设置在那里:
public static function boot()
{
parent::boot();
static::saving(function($pin) {
$pin->pin_date = \Carbon::now()
});
}
如果您想更新此值而不是在保存模型时处理它 - 例如通过单击按钮,您可以使用 Ajax。您将需要 1.) 路由,2.) 点击处理程序,3.) AJAX 请求和 4.) 处理请求的控制器:
单击处理程序 Ajax:
$('.btn').on('click', function(e) {
$.ajax({
url: '/route/to/update/my/pin' + $(this).closest('.pin').data('id')
});
});
然后路线:
Route::post('/route/to/update/my/pin/{id}', 'PinController@updatePinDate');
然后制作控制器方法并相应地更新它:
public function updatePinDate(Request $request, Pin $pin)
{
$pin->pin_date = \Carbon::now();
$pin->save();
}
如果您不想使用 javascript,您可以使用具有相同 route/controller 方法的标准表格:
<form action="/route/to/update/my/pin/{{ $pin->id }}" method="POST">
{{csrf_field()}}
<button type="Submit"> Update Pin Date </button>
</form>
public function pinDate($id)
{
$pin = Pin::find($id);
$pin->pin_date = \Carbon\Carbon::now();
$pin->save();
}
希望有用。
我的数据库中有一个引脚 table,其中有一个 pin_date 列。
在我的迁移中,我有这个:
$table->dateTime('pin_date')->nullable();
我有一个指向 post 路线的按钮
Route::post('/pins/pin-date/{id}', 'PinsController@pinDate');
导致 pinDate 控制器方法:
public function pinDate($id)
{
$pin = Pin::find($id);
$pin->save();
}
我想在单击按钮并点击路线时将数据库中的 pin-date 列更新为当前日期和时间。我不太确定该怎么做。任何帮助将不胜感激!谢谢!
我会在模型为 saving
时执行此操作,您可以绑定到 model
的 boot
函数并将其设置在那里:
public static function boot()
{
parent::boot();
static::saving(function($pin) {
$pin->pin_date = \Carbon::now()
});
}
如果您想更新此值而不是在保存模型时处理它 - 例如通过单击按钮,您可以使用 Ajax。您将需要 1.) 路由,2.) 点击处理程序,3.) AJAX 请求和 4.) 处理请求的控制器:
单击处理程序 Ajax:
$('.btn').on('click', function(e) {
$.ajax({
url: '/route/to/update/my/pin' + $(this).closest('.pin').data('id')
});
});
然后路线:
Route::post('/route/to/update/my/pin/{id}', 'PinController@updatePinDate');
然后制作控制器方法并相应地更新它:
public function updatePinDate(Request $request, Pin $pin)
{
$pin->pin_date = \Carbon::now();
$pin->save();
}
如果您不想使用 javascript,您可以使用具有相同 route/controller 方法的标准表格:
<form action="/route/to/update/my/pin/{{ $pin->id }}" method="POST">
{{csrf_field()}}
<button type="Submit"> Update Pin Date </button>
</form>
public function pinDate($id)
{
$pin = Pin::find($id);
$pin->pin_date = \Carbon\Carbon::now();
$pin->save();
}
希望有用。