如何在 Laravel5 上合并两个 post?
How to merge two post in one on Laravel5?
我想 post 像这样合并日期和时间戳 ('H:i')。
private function update($test, $request)
{
$test -> merge_date = $request -> date . " " . $request -> timestamp_hi;
$test->save();
}
日期值类似于“2016-08-30”,
timestamp_hi 值类似于“12:45”。
我希望合并那里的值并设置像“2016-08-30 12:45:00”这样的数据库记录。
但这给我带来了错误。
InvalidArgumentException in Carbon.php line 425:
Unexpected data found.
Data missing
at Carbon::createFromFormat('Y-m-d H:i:s', '12:45:00') in Model.php line 2969
如果我将 timestamp_hi 值设置为 '2016-08-30 12:45:00',Carbon create 就会变成这样。
InvalidArgumentException in Carbon.php line 425:
The separation symbol could not be found
Unexpected data found.
Trailing data
at Carbon::createFromFormat('Y-m-d H:i:s', '2016-08-30 2016-08-30 12:45:00') in Model.php line 2969
看来我可以合并 2 post 但不能处理时间戳 ('H:i')。为什么?
P.S.
模型改变了这个。我之前没有设置受保护的 $dates 和 Attribute。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Test extends Model
{
protected $fillable = ['date', 'timestamp_hi'];
protected $dates = ['date', 'timestamp_hi'];
public function getDateAttribute($date)
{
return $this->attributes['date'] = \Carbon\Carbon::createFromFormat('Y-m-d', $date) -> toDateString();
}
public function getTimestampHiAttribute($timestamp_hi)
{
return $this->attributes['timestamp_hi'] = \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $timestamp_hi) -> format('H:i');
}
}
查看您的错误消息。
Data missing
at Carbon::createFromFormat('Y-m-d H:i:s', '12:45:00') in Model.php line 2969
以上内容告诉您您正在尝试将 12:45:00
解析为 Y-m-d H:i:s
格式,您错过了日期。它应该是 Y-m-d H:i:s, 2016-08-30 12:45:00
,通过 dd() 检查你的 $request->date
。真的有传递价值吗?
Trailing data
at Carbon::createFromFormat('Y-m-d H:i:s', '2016-08-30 2016-08-30 12:45:00') in Model.php line 2969
上面的第二个错误告诉你你有一个额外的日期被传递,注意 2016-08-30
的重复,我相信根据指定的日期格式传递正确的值不会让你您遇到的错误。
我想 post 像这样合并日期和时间戳 ('H:i')。
private function update($test, $request)
{
$test -> merge_date = $request -> date . " " . $request -> timestamp_hi;
$test->save();
}
日期值类似于“2016-08-30”, timestamp_hi 值类似于“12:45”。
我希望合并那里的值并设置像“2016-08-30 12:45:00”这样的数据库记录。
但这给我带来了错误。
InvalidArgumentException in Carbon.php line 425:
Unexpected data found.
Data missing
at Carbon::createFromFormat('Y-m-d H:i:s', '12:45:00') in Model.php line 2969
如果我将 timestamp_hi 值设置为 '2016-08-30 12:45:00',Carbon create 就会变成这样。
InvalidArgumentException in Carbon.php line 425:
The separation symbol could not be found
Unexpected data found.
Trailing data
at Carbon::createFromFormat('Y-m-d H:i:s', '2016-08-30 2016-08-30 12:45:00') in Model.php line 2969
看来我可以合并 2 post 但不能处理时间戳 ('H:i')。为什么?
P.S.
模型改变了这个。我之前没有设置受保护的 $dates 和 Attribute。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Test extends Model
{
protected $fillable = ['date', 'timestamp_hi'];
protected $dates = ['date', 'timestamp_hi'];
public function getDateAttribute($date)
{
return $this->attributes['date'] = \Carbon\Carbon::createFromFormat('Y-m-d', $date) -> toDateString();
}
public function getTimestampHiAttribute($timestamp_hi)
{
return $this->attributes['timestamp_hi'] = \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $timestamp_hi) -> format('H:i');
}
}
查看您的错误消息。
Data missing
at Carbon::createFromFormat('Y-m-d H:i:s', '12:45:00') in Model.php line 2969
以上内容告诉您您正在尝试将 12:45:00
解析为 Y-m-d H:i:s
格式,您错过了日期。它应该是 Y-m-d H:i:s, 2016-08-30 12:45:00
,通过 dd() 检查你的 $request->date
。真的有传递价值吗?
Trailing data
at Carbon::createFromFormat('Y-m-d H:i:s', '2016-08-30 2016-08-30 12:45:00') in Model.php line 2969
上面的第二个错误告诉你你有一个额外的日期被传递,注意 2016-08-30
的重复,我相信根据指定的日期格式传递正确的值不会让你您遇到的错误。