Laravel碳格式日期
我通过ajax发布日期从我的表单格式。Laravel碳格式日期
27/07/2016
当它击中我的控制器我的格式转换为Y-M-d,因为它是在商店我的数据库这样的。
不过,我发现了以下错误:
DateTime::__construct(): Failed to parse time string (27/07/2016) at position 0 (2): Unexpected character
我控制器
public function call(Request $request)
{
return Company->expenses()->where('date_expense', Carbon::parse($request->start)->format('Y-m-d'))->get();
}
在我的开支模式,我有以下定义为日期:
protected $dates = ['date_expense'];
使用Carbon的Carbon::createFromFormat($format, $time, $tz);
方法:
$start = Carbon::createFromFormat('d/m/Y', $request->start);
return Company->expenses()->where('date_expense', $start)->get();
顺便说一句,没有必要进一步格式化日期,因为Laravel知道如何处理Carbon对象,并且会在幕后为您自动执行此操作。
使用
Carbon::createFromFormat('d/m/Y', $request->start)->format('d/m/Y')
你有这个
return Company->expenses()->where('date_expense', Carbon::createFromFormat('d/m/Y', $request->start)->format('Y-m-d'))->get();
更改代码如果laravel框架的版本是5。0+ 您可以通过检查php artisan -V
矿Laravel Framework 5.4.19
您可以从laravel文档的参考https://laravel.com/docs/5.4/eloquent-mutators#date-mutators
下面是一个例子:
-
如果您laravel框架不包含碳,你可以跑
composer require nesbot/carbon
在你的模型如Post模型
class Post extends Model` { protected $fillable = ["title","body"];` protected $dates = [` 'created_at',` 'updated_at',` 'deleted_at'` ]; }
- 使用鼓捣添加项目目录下后 开放终端 运行
php artisan tinker
App\Post::create("title"=>"This is Title","body"=>"this is body")
然后你可以得到最新的cre ated后的created_at由碳
通过App\Post::latest()->get()->created_at->diffForHumans()
你也可以用同样的方法在刀片这样 {{ $post->created_at->diffForHumans() }}
作为沿袭了碳文件网址:http://carbon.nesbot.com/docs/
你传递的日期时它正在寻找一个时间戳,首先转换为时间戳,然后传入。 – VikingBlooded
我该如何更改?对不起@VikingBlooded –
格式(“Ymd H:我:s) – VikingBlooded