Сначала вам нужно проанализировать вашу строку, прежде чем следовать рекомендациям других людей:
var dateString = "2010-09-11";
var myDate = new Date(dateString);
//add a day to the date
myDate.setDate(myDate.getDate() + 1);
Если вы хотите, чтобы она снова была в том же формате, вам придется сделать это «вручную»:
var y = myDate.getFullYear(),
m = myDate.getMonth() + 1, // january is month 0 in javascript
d = myDate.getDate();
var pad = function(val) { var str = val.toString(); return (str.length < 2) ? "0" + str : str};
dateString = [y, pad(m), pad(d)].join("-");
Но я предлагаю получить Date.js, как указано в других ответах, которые помогут вам alot .
Как мы обсуждали в комментариях выше, столбец внешнего ключа должен иметь тот же тип данных, что и первичный ключ, на который он ссылается.
Вы объявили свой первичный ключ user.id
как $table->bigIncrements('id')
, который становится BIGINT UNSIGNED AUTO_INCREMENT
в синтаксисе MySQL.
Вы должны объявить внешний ключ как $table->unsignedBigInteger('user_id')
, который в MySQL станет BIGINT UNSIGNED
, что делает его совместимым с внешним ключом для столбца user.id
.