Поскольку я переношу приложение в Laravel, и он использует класс Auth, мне нужно изменить все пароли в таблице моих пользователей на байкрипт (используя Hash::make()
).Использование метода Hash :: make для обновления всех записей в таблице
Дело в том, что я хочу использовать имена пользователей в качестве пароля по умолчанию (поэтому, когда миграция завершена, у моего пользователя «Марио» будет пароль «Марио»). Я хочу сделать это со всеми записями базы данных через Migration, но я не могу это сделать, поскольку я не знаю, как получить значение select, hash it, а затем использовать его в обновлении.
Есть ли способ сделать это без использования петель? (т. е. без запроса по одному пользователю)
EDIT: Да, это невозможно обойтись без петель. Я понял, что. И @Adrenaxus имеет правильный ответ.
ли вы _have to_ использование миграции? В противном случае вы можете просто пропустить каждого пользователя в 'foreach()' и установить новый пароль, или я что-то упустил? Почему бы вам не использовать циклы, я не вижу другого способа ... – Adrenaxus
@Adrenaxus О, я об этом не думал. Вы говорите? (при регистрации в первый раз?) - я не хочу использовать циклы, потому что есть много пользователей. И, в случае, есть тысячи (гипотетических), делая тысячи и тысячи запросов, может убить базу данных, не так ли? Не так эффективно (зная, что есть способ сделать это с 1 запросом) – AeroCross
да, это сделка :) проверьте код в моем ответе ... – Adrenaxus