Python не является ни передачей по значению, ни передачей по ссылке. Это больше «ссылки на объекты передаются по значению», как описано здесь: http://robertheaton.com/2014/02/09/pythons-pass-by-object-reference-as-explained-by-philip- к-член / .
возвращает [0,1], показывая, что какая-то ссылка была явно передается как pass-by-value, не позволяет функции изменять родительскую область вообще.
Похоже, что pass-by-reference, hu? Нет.
возвращает [0], показывая, что исходная ссылка была уничтожена, когда список был переназначены. pass-by-reference вернул бы [0,1].
Для получения дополнительной информации смотрите здесь: http://effbot.org/zone/call-by-object.htm
Если вы хотите, чтобы ваша функция не манипулировала внешней областью, вам нужно сделать копию входных параметров, которые создают новый объект.
from copy import copy
def append(list):
list2 = copy(list)
list2.append(1)
print list2
list = [0]
append(list)
print list
Вы можете установить автоинкремент запуска с помощью этого кода
$table->increments('id')->start_from($yourStartValue);
добавить start_from и использовать свое значение для запуска
Таким образом, таблица была создана, если я не понял неправильно, почему бы просто не заполнить первую запись, чтобы она увеличивалась после 1?
Например, создайте начальное число БД для вставки данных в таблицу для любой записи. тебе нужно.
Выполнить php artisan make:seeder UsersTableSeeder
Затем в начальном файле:
public function run()
{
DB::table('technicians')->insert([
'name' => "John",
'surname' => "Doe",
'str_id' => 3,
etc...
]);
}
Похоже, вы пытаетесь вставьте запись в БД, где она уже существует, для идентификатора 1. Проверьте свою БД.