如何在 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 的重复,我相信根据指定的日期格式传递正确的值不会让你您遇到的错误。