mysql - 将日期传输到数据库
问题描述
Yii 中的初学者,在 GridView 中连接了 DatePicker,但是当我设置日期时,在数据库中没有任何变化,有旧值。我不明白如何使数据进入数据库。
看法:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'avito_login',
'avito_password',
'Region',
"City",
"legal_entity",
"manager_contact_phone",
"avito_user_id",
"teg",
[
'label' => 'Date begin subscription',
'value' => function ($model, $key, $value) {
return \kartik\date\DatePicker::widget([
'name' => 'date_subscription',
'model' => $model,
'value' => $model->date_subscription,
'type' => DatePicker::TYPE_INPUT,
'pluginOptions' => [
'format' => 'yyyy-mm-dd',
'autoclose' => true,
],
'pluginEvents'=>[
'changeDate'=>"function(e) {[jQuery.ajax({ url: '/admin/clients/date-subscription', type: 'post', contentType: 'application/x-www-form-urlencoded', dataType: 'html', data: { data: this.value }, success: function (data) { alert(data) });
}",
],
]);
},
'format' => 'raw',
],
?>
控制器
public function actionDateSubscription()
{
$datesubscription = Yii::$app->request->post('date_subscription');
}
什么都没有发生,日期停止活动的字段
解决方案
您基本上需要将 ajax 调用绑定到datepicker
发送date
到服务器的服务器controller/action
,服务器将新日期更新到数据库中并将响应发送回前端,如果一切正常,它会刷新 gridview 以反映新日期。
这是一个类似的答案,它使用切换开关来更新数据库status
列,您可以大致了解该过程。
在您的情况下,唯一不同的是您必须使用pluginEvents
选项来指定changeDate
事件并将 ajax 调用绑定到该事件,如下所示
[
'label' => 'Date begin subscription',
'value' => function ($model, $key, $value) {
return \kartik\date\DatePicker::widget([
'name' => 'date_subscription',
'model' => $model,
'value' => $model->date_subscription,
'type' => DatePicker::TYPE_INPUT,
'pluginOptions' => [
'format' => 'yyyy-mm-dd',
'autoclose' => true,
],
'pluginEvents'=>[
'changeDate'=>"function(e) { //call your ajax fuction here }",
]
]);
},
'format' => 'raw',
],
注意:如果您允许date_subscription
为空/null,请确保您在clearDate
事件中也调用 ajax 以及changeDate
.
有关事件的完整列表,请参阅DOCS
推荐阅读
- machine-learning - PyTorch 中的置换操作是可微分操作吗
- javascript - 如何用更少的代码创建一个 jQuery 函数
- r - 使用汇总(dplyr)从列中获取第一个非空日期
- python - 选择哪一点将有正确的 mp3 文件用于导出
- c# - 使用两个数据库时,实体框架实体类型“未映射 CustomerSpendings”
- javascript - 为什么 Mongoose 只保存部分数据?
- javascript - javascript 类中的画布
- matlab - 如何使用 MATLAB for 循环创建文件名并读取它们
- android - Flutter中滑动TabBarView()时如何改变Tabs()的形状?
- java - maven-dependency-plugin 和项目内依赖项