How to deal with datatype TIME in Illuminate/Carbon
I am working with a database that has the following columns (MariaDB):
- EventDate (Datatype DATE)
- EventStart (Datatype TIME)
- EventEnd (Datatype TIME)
In the model I assign the first field (EventDate) with:
...
protected $dates = ['EventDate'];
...
which is then be formated later with:
$event->EventDate->formatLocalized('%a. %d.%m.%y')
Now, I want to set the format of the times with a simliar approach, but if I add the next field into the array:
...
protected $dates = ['EventDate', 'EventStart'];
...
And I receive the following Error Message:
Uncaught InvalidArgumentException: Unexpected data found.
Has anybody an idea how to solve that issue?
Thanks to you!
datetime time eloquent
add a comment |
I am working with a database that has the following columns (MariaDB):
- EventDate (Datatype DATE)
- EventStart (Datatype TIME)
- EventEnd (Datatype TIME)
In the model I assign the first field (EventDate) with:
...
protected $dates = ['EventDate'];
...
which is then be formated later with:
$event->EventDate->formatLocalized('%a. %d.%m.%y')
Now, I want to set the format of the times with a simliar approach, but if I add the next field into the array:
...
protected $dates = ['EventDate', 'EventStart'];
...
And I receive the following Error Message:
Uncaught InvalidArgumentException: Unexpected data found.
Has anybody an idea how to solve that issue?
Thanks to you!
datetime time eloquent
Those aren't dates so you probably can't add them to that array. I have avoided using time columns for this exact reason when I know I'm going to need it to be formatted.
– John Halsey
Nov 15 '18 at 15:45
yes, i finally figured out that TIME comes as a String-Type in PHP and needs to be casted to DATETIME. I found a solution with an Accessor (see below)
– Tim K.
Nov 16 '18 at 11:23
add a comment |
I am working with a database that has the following columns (MariaDB):
- EventDate (Datatype DATE)
- EventStart (Datatype TIME)
- EventEnd (Datatype TIME)
In the model I assign the first field (EventDate) with:
...
protected $dates = ['EventDate'];
...
which is then be formated later with:
$event->EventDate->formatLocalized('%a. %d.%m.%y')
Now, I want to set the format of the times with a simliar approach, but if I add the next field into the array:
...
protected $dates = ['EventDate', 'EventStart'];
...
And I receive the following Error Message:
Uncaught InvalidArgumentException: Unexpected data found.
Has anybody an idea how to solve that issue?
Thanks to you!
datetime time eloquent
I am working with a database that has the following columns (MariaDB):
- EventDate (Datatype DATE)
- EventStart (Datatype TIME)
- EventEnd (Datatype TIME)
In the model I assign the first field (EventDate) with:
...
protected $dates = ['EventDate'];
...
which is then be formated later with:
$event->EventDate->formatLocalized('%a. %d.%m.%y')
Now, I want to set the format of the times with a simliar approach, but if I add the next field into the array:
...
protected $dates = ['EventDate', 'EventStart'];
...
And I receive the following Error Message:
Uncaught InvalidArgumentException: Unexpected data found.
Has anybody an idea how to solve that issue?
Thanks to you!
datetime time eloquent
datetime time eloquent
asked Nov 15 '18 at 4:43
Tim K.Tim K.
257
257
Those aren't dates so you probably can't add them to that array. I have avoided using time columns for this exact reason when I know I'm going to need it to be formatted.
– John Halsey
Nov 15 '18 at 15:45
yes, i finally figured out that TIME comes as a String-Type in PHP and needs to be casted to DATETIME. I found a solution with an Accessor (see below)
– Tim K.
Nov 16 '18 at 11:23
add a comment |
Those aren't dates so you probably can't add them to that array. I have avoided using time columns for this exact reason when I know I'm going to need it to be formatted.
– John Halsey
Nov 15 '18 at 15:45
yes, i finally figured out that TIME comes as a String-Type in PHP and needs to be casted to DATETIME. I found a solution with an Accessor (see below)
– Tim K.
Nov 16 '18 at 11:23
Those aren't dates so you probably can't add them to that array. I have avoided using time columns for this exact reason when I know I'm going to need it to be formatted.
– John Halsey
Nov 15 '18 at 15:45
Those aren't dates so you probably can't add them to that array. I have avoided using time columns for this exact reason when I know I'm going to need it to be formatted.
– John Halsey
Nov 15 '18 at 15:45
yes, i finally figured out that TIME comes as a String-Type in PHP and needs to be casted to DATETIME. I found a solution with an Accessor (see below)
– Tim K.
Nov 16 '18 at 11:23
yes, i finally figured out that TIME comes as a String-Type in PHP and needs to be casted to DATETIME. I found a solution with an Accessor (see below)
– Tim K.
Nov 16 '18 at 11:23
add a comment |
1 Answer
1
active
oldest
votes
As a column with the datatype TIME comes in PHP as a String-Type, I achieved my problem with an Accessor:
public function getEventEndAttribute($value) {
return $this->attributes['EventEnd'] = (Carbon::createFromFormat('H:i:s', $value));
}
and then I was able to give my own format in the outputting script:
$event->EventEnd->format('H:i');
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312552%2fhow-to-deal-with-datatype-time-in-illuminate-carbon%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
As a column with the datatype TIME comes in PHP as a String-Type, I achieved my problem with an Accessor:
public function getEventEndAttribute($value) {
return $this->attributes['EventEnd'] = (Carbon::createFromFormat('H:i:s', $value));
}
and then I was able to give my own format in the outputting script:
$event->EventEnd->format('H:i');
add a comment |
As a column with the datatype TIME comes in PHP as a String-Type, I achieved my problem with an Accessor:
public function getEventEndAttribute($value) {
return $this->attributes['EventEnd'] = (Carbon::createFromFormat('H:i:s', $value));
}
and then I was able to give my own format in the outputting script:
$event->EventEnd->format('H:i');
add a comment |
As a column with the datatype TIME comes in PHP as a String-Type, I achieved my problem with an Accessor:
public function getEventEndAttribute($value) {
return $this->attributes['EventEnd'] = (Carbon::createFromFormat('H:i:s', $value));
}
and then I was able to give my own format in the outputting script:
$event->EventEnd->format('H:i');
As a column with the datatype TIME comes in PHP as a String-Type, I achieved my problem with an Accessor:
public function getEventEndAttribute($value) {
return $this->attributes['EventEnd'] = (Carbon::createFromFormat('H:i:s', $value));
}
and then I was able to give my own format in the outputting script:
$event->EventEnd->format('H:i');
edited Nov 23 '18 at 11:37
answered Nov 16 '18 at 11:31
Tim K.Tim K.
257
257
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312552%2fhow-to-deal-with-datatype-time-in-illuminate-carbon%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Those aren't dates so you probably can't add them to that array. I have avoided using time columns for this exact reason when I know I'm going to need it to be formatted.
– John Halsey
Nov 15 '18 at 15:45
yes, i finally figured out that TIME comes as a String-Type in PHP and needs to be casted to DATETIME. I found a solution with an Accessor (see below)
– Tim K.
Nov 16 '18 at 11:23