如何将日期转换为 laravel 中的整数
how to convert a date into an integer in laravel
我从文档中学到的是,我需要制作一个应该获取该值的增变函数,而不是将其转换为 table.But 我不断收到 的错误SQLSTATE[01000]:警告:第 1 行第 'valid_to' 列的 1265 数据被截断(SQL:插入 promotions
(name
,city_id
, valid_to
, is_active
, type
, limit
, updated_at
, created_at
) values (a, Jadah, 2018-02-28, 1, 1, a, 1519818982, 1519818982))
模型部分代码:
public function setValidFromValueAttribute($date)
{
$this->attributes['valid_from'] = strtotime($date);
}
public function setValidToValueAttribute($date)
{
$this->attributes['valid_to'] = intval($date);
}
Blade 部分日期代码是
<div class="form-group">
{!! Form::label('valid_from','Valid From') !!}
{!! Form::date('valid_from',\Carbon\Carbon::now()) !!}
</div>
<div class="form-group">
{!! Form::label('valid_to','Valid Till') !!}
{!! Form::date('valid_to',\Carbon\Carbon::now()) !!}
</div>
迁移部分代码
$table->increments('id');
$table->string('name')->unique();
$table->integer('valid_from')->default(1);
$table->integer('valid_to')->default(1);
$table->tinyInteger('is_active');
$table->tinyInteger('type');
$table->string('city_id')->default('Jadah');
$table->string('limit')->unsigined();
$table->integer('updated_at')->unsigined();
$table->integer('created_at')->unsigined();
任何帮助将不胜感激。
在您的推广模型中,添加:
protected $dates = [
'valid_from',
'valid_to'
];
删除行
public function setValidFromValueAttribute($date)
{
$this->attributes['valid_from'] = strtotime($date);
}
public function setValidToValueAttribute($date)
{
$this->attributes['valid_to'] = intval($date);
}
在您的迁移文件中,将 valid_from
和 valid_to
对应的行替换为以下内容
$table->date('valid_from')
$table->date('valid_to')
转到 config/database.php
,搜索 connections.mysql
数组并设置:
'strict' => false,
你的函数:
public function setValidToValueAttribute($date)
{
$this->attributes['valid_to'] = strtotime($date);
}
If you give limit less than your output you get this error
EX: 82638628721 这是你得到的整数值
In your DB you give the type as int(5).
82638628721 > int(5) -> so this error occurs just increase the limit on valid_to field
我需要做的就是制作
protected $dates = [
'valid_from',
'valid_to'
];
并保留 valid_from 和 valid_to 迁移为
$table->integer('valid_from');
$table->integer('valid_to');
一切正常
我从文档中学到的是,我需要制作一个应该获取该值的增变函数,而不是将其转换为 table.But 我不断收到 的错误SQLSTATE[01000]:警告:第 1 行第 'valid_to' 列的 1265 数据被截断(SQL:插入 promotions
(name
,city_id
, valid_to
, is_active
, type
, limit
, updated_at
, created_at
) values (a, Jadah, 2018-02-28, 1, 1, a, 1519818982, 1519818982))
模型部分代码:
public function setValidFromValueAttribute($date)
{
$this->attributes['valid_from'] = strtotime($date);
}
public function setValidToValueAttribute($date)
{
$this->attributes['valid_to'] = intval($date);
}
Blade 部分日期代码是
<div class="form-group">
{!! Form::label('valid_from','Valid From') !!}
{!! Form::date('valid_from',\Carbon\Carbon::now()) !!}
</div>
<div class="form-group">
{!! Form::label('valid_to','Valid Till') !!}
{!! Form::date('valid_to',\Carbon\Carbon::now()) !!}
</div>
迁移部分代码
$table->increments('id');
$table->string('name')->unique();
$table->integer('valid_from')->default(1);
$table->integer('valid_to')->default(1);
$table->tinyInteger('is_active');
$table->tinyInteger('type');
$table->string('city_id')->default('Jadah');
$table->string('limit')->unsigined();
$table->integer('updated_at')->unsigined();
$table->integer('created_at')->unsigined();
任何帮助将不胜感激。
在您的推广模型中,添加:
protected $dates = [
'valid_from',
'valid_to'
];
删除行
public function setValidFromValueAttribute($date)
{
$this->attributes['valid_from'] = strtotime($date);
}
public function setValidToValueAttribute($date)
{
$this->attributes['valid_to'] = intval($date);
}
在您的迁移文件中,将 valid_from
和 valid_to
对应的行替换为以下内容
$table->date('valid_from')
$table->date('valid_to')
转到 config/database.php
,搜索 connections.mysql
数组并设置:
'strict' => false,
你的函数:
public function setValidToValueAttribute($date)
{
$this->attributes['valid_to'] = strtotime($date);
}
If you give limit less than your output you get this error
EX: 82638628721 这是你得到的整数值
In your DB you give the type as int(5).
82638628721 > int(5) -> so this error occurs just increase the limit on valid_to field
我需要做的就是制作
protected $dates = [
'valid_from',
'valid_to'
];
并保留 valid_from 和 valid_to 迁移为
$table->integer('valid_from');
$table->integer('valid_to');
一切正常