簡體   English   中英

如何在Laravel5上將兩個帖子合二為一?

[英]How to merge two post in one on Laravel5?

我想這樣發布合並的日期和時間戳('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個帖子,但不能在timestamp('H:i')上使用。 為什么?

聚苯乙烯

模型改變了這一點。 我之前沒有設置受保護的$ 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解析為Ymd H:i:s格式,您錯過了此日期。 應該是Ymd 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 ,我相信按照指定的日期格式傳遞正確的值不會產生錯誤,面對。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM