2016-08-30 4 views
0

Я хочу опубликовать эту объединенную дату и временную метку ('H: i') следующим образом.Как объединить два сообщения в одном на Laravel5?

private function update($test, $request) 
{ 
    $test -> merge_date = $request -> date . " " . $request -> timestamp_hi; 
    $test->save(); 
} 

значение даты приходит как '2016-08-30', значение timestamp_hi приходит как '12: 45' .

Я хочу объединить это значение и установить запись в формате DB, например '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 будет таким.

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'). Зачем?

P.S.

Модель изменила это. Я еще не устанавливал защищенные $ даты и атрибут.

<?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'); 
    } 
} 

ответ

0

Посмотрите на свое сообщение об ошибке.

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, проверьте ваш $request->date на dd(). Действительно ли ценность передается?

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, я считаю, переходящими в нужном значении в соответствии с форматом дата, указанный не дам вам ошибку вы сталкиваетесь.

+0

Благодаря ответу. Я обнаружил неправильное значение на дату $ request ->. это значение приходит как '2016-08-30 00:00:00'. Я настраиваю и решаю это. – qwe001

+0

Добро пожаловать в SO @ qwe001, рад, что он помогает, любезно пометьте его как ответ, если он решает вашу проблему :) – SteD

+0

Пока не решен этот хех 8 <Я корректирую значение даты, но та же проблема возникла. не может объединить дату и временную метку с строками? – qwe001