【发布时间】:2015-12-18 14:35:37
【问题描述】:
我正在向我的数据库发布一个日期。列类型是 TIMESTAMP 但无论我发送什么,laravel 都不会转换日期。我已经手动检查了 Carbon::parse() 可以正确格式化我发送的日期,这很好。
发布日期示例:{ "interview_date": "18 December 2015 - 14:24" }
在数据库中保存为:0000-00-00 00:00:00
返回为:{ "interview_date": "-0001-11-30 00:00:00" }
我在我的 laravel 模型中设置了protected $dates = ['interview_date'];。
我的约会对象发生了什么?任何帮助将不胜感激。
谢谢
乔
更新:模型/控制器/Laravel 5.1
<?php
namespace App\Clients;
use AlgoliaSearch\Laravel\AlgoliaEloquentTrait;
use Illuminate\Database\Eloquent\Model;
class Member extends Model
{
use AlgoliaEloquentTrait;
public $primaryKey = "m_id";
protected $dates = ['interview_date'];
public $timestamps = false;
public static $objectIdKey = 'member_lead_trace';
public $indices = ['dev_leads'];
protected $casts = [
'interview_notes_received' => 'boolean',
'interview_complete' => 'boolean',
];
public function leads()
{
return $this->hasOne('App\Lead', 'id', 'member_lead_trace');
}
public function personal()
{
return $this->hasOne('App\Personal', 'mem_id', 'm_id');
}
public function wants()
{
return $this->hasOne('App\Want', 'mem_id', 'm_id');
}
public function photos()
{
return $this->hasMany('App\Photo', 'mem_id', 'm_id');
}
public function attributes()
{
return $this->hasMany('App\Attribute', 'mem_id', 'm_id');
}
public function financial()
{
return $this->hasOne('App\Financial', 'mem_id', 'm_id');
}
public function profile()
{
return $this->hasOne('App\Profile', 'mem_id', 'm_id');
}
}
控制器功能
public function update(Request $request)
{
$data = json_decode($request->data, true);
//return Carbon::parse($request->interview_date);
try {
return Member::where('member_lead_trace', $request->user)->update($data);
} catch (Exception $e) {
echo $e->getMessage();
}
}
【问题讨论】:
标签: php mysql date laravel datetime