У меня есть форма, в которой пользователь может публиковать проект в базе данных вместе с созданием нового пользователя, где оба связаны друг с другом.«Laravel 5.1» добавить пользователя и проект с userId
Значения usersid и projects.user_id в таблице. Но у меня небольшая проблема. Если я получу последний идентификатор из таблицы users и использую этот +1 для следующего id, он работает. но если пользователь удаляется перед добавлением нового проекта с идентификатором, он может стать действительно запутанным при запуске приложения.
предположим, что я получил последнего пользователя как идентификатор 5 в таблице. но кто-то удалил его, и я сделал новый проект с новым пользователем на следующий день. Теперь следующий идентификатор будет id 6. Но в соответствии с моим кодом он отображает 5 в project_table, но в user_table это будет 6.
Мне было интересно, может ли кто-нибудь предложить мне функцию, которую я мог бы использовать для получения правильного идентификатора?
функция для получения последнего идентификатора
public static function getLastRow(){
$data = DB::table('users')->select('id')
->orderBy('id', 'desc')
->first();
return $data->id;
}
перед тем валидатор я сосчитать последний идентификатор для добавления его проектов
$lastidplus = (int)User::getLastRow() + 1;
в моем валидатора у меня есть это:
'user_id' => $lastidplus,
ПРИМЕЧАНИЕ :: это работает, но если в будущем последняя строка в таблице пользователей будет удалена. в соответствующей таблице проектов появится цепная реакция ложных идентификаторов, так как он всегда будет иметь 1 разницу. и я хочу сделать это невозможным.
спасибо @Raj за то, что немного лучше. будет уделять больше внимания при создании должности снова! –
, так как ваш английский недостаточно хорош, можете ли вы включить код в свой вопрос, чтобы мы могли лучше понять – Digitlimit
@StefanoGroenland ur всегда wlcm – CandleCoder