I am using jQuery calendar to input dates in the form like
<div class="form-group">
<label>Valid From:</label>
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" tabindex="4" data-date-start-date="0d" class="form-
control pull-right datepicker" name="valid_from" id="datepicker2" value="
{{old('valid_from')}}">
</div>
@if ($errors->has('valid_from'))
<span class="has-error" style="color: red">
<strong>{{ $errors->first('valid_from') }}</strong>
</span>
@endif
</div>
and I am getting the value in the form of 09-03-2018 from form.
Model code and I tried converting it with mutator but it didn't work to model code
use SoftDeletes;
protected $fillable =
['name','valid_from','valid_to','city_id','p_limit','is_active','type'];
protected $dates = [
// 'valid_from',
// 'valid_to',
'deleted_at'
];
// public function setDateOfBirthAttribute($dates)
// {
// $this->attributes['valid_from'] = Carbon::parse($dates);
// $this->attributes['valid_to'] = Carbon::parse($dates);
// $this->attributes['deleted_at'] = Carbon::parse($dates);
// }
// protected function getDateFormat()
// {
// return 'U';
// }
// protected function getDateFormat()
// {
// return 'd-m-Y ';
// }
// public function setFirstNameAttribute($dates)
// {
// $this->attributes['valid_from'] = strtotime($dates);
// $this->attributes['valid_to'] = strtotime($dates);
// $this->attributes['deleted_at'] = strtotime($dates);
// }
// public function getValidTillValueAttribute($date)
// {
// return Carbon::now()->toRfc2822String($date);
// }
// public function setValidTillValueAttribute($value)
// {
//// $this->attributes['valid_to'] =
Carbon::createFromTimestamp($value);
// $this->attributes['valid_to'] = strtotime($value);
// dd($value);
// }
// public function setValidFromValueAttribute($value)
// {
// dd($value);
//// $this->attributes['valid_from'] =
Carbon::createFromTimestamp($value);
// $this->attributes['valid_from'] = strtotime($value);
// }
Controller code
public function store(PromotionRequest $request)
{
$input = $request->all();
// return $request->all();
$date = $request->valid_from;
$date1 = $request->valid_to;
$_newDate = strtotime($date);
$_newDate1 = strtotime($date1);
// dd($_newDate);
// dd($_newDate1);
// return $input;
// return $_newDate1;
// return $_newDate;
// dd($request->all());
// return $request->$_newDate;
// return $request->$_newDate1;
Promotion::create($input,$_newDate,$_newDate1);
// Promotion::create($input);
// return redirect('admin/promotion');
}
migration code
$table->increments('id');
$table->string('name')->unique();
$table->integer('valid_from');
$table->integer('valid_to');
$table->tinyInteger('is_active')->comment('0 = Not Active, 1 = Active');
$table->tinyInteger('type')->comment('1 = percentage, 2 = in currency');
$table->integer('city_id')->default(1)->comment = "foreign key to cities
table";
$table->integer('p_limit')->unsigined();
$table->integer('updated_at')->unsigined();
$table->integer('created_at')->unsigined();
$table->integer('deleted_at')->unsigined()->nullable(true);
$table->foreign('city_id')->refrences('id')->on('cities');
I want to convert it into unix_timestamp any help would be really appreciated
You can convert string to date time timestamp using strtotime()
Here is an example
strtotime('09-03-2018');
Another way is to use carbon
Carbon::parse('string')->timestamp;
Also make sure your model has these keys in $fillable array
$fillable = ['your colums'];
In your controller you do this
$input['valid_from'] = strtotime($date);
$input['valid_to'] = strtotime($date1);
Promotion::create($input);
Hope this helps