Почему создание внешнего ключа в Laravel 5.8 не удается?

Сначала вам нужно проанализировать вашу строку, прежде чем следовать рекомендациям других людей:

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 .

4
задан Iftikhar uddin 5 March 2019 в 14:18
поделиться

1 ответ

Как мы обсуждали в комментариях выше, столбец внешнего ключа должен иметь тот же тип данных, что и первичный ключ, на который он ссылается.

Вы объявили свой первичный ключ user.id как $table->bigIncrements('id'), который становится BIGINT UNSIGNED AUTO_INCREMENT в синтаксисе MySQL.

Вы должны объявить внешний ключ как $table->unsignedBigInteger('user_id'), который в MySQL станет BIGINT UNSIGNED, что делает его совместимым с внешним ключом для столбца user.id.

0
ответ дан Bill Karwin 5 March 2019 в 14:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: