Jika kamu menggunakan Laravel dengan struktur modular seperti nwidart/laravel-modules
, kamu mungkin akan menemui tantangan ketika ingin melakukan operasi database menggunakan Tinker, terutama saat model tidak berada di folder App\Models
, melainkan dalam modul tertentu seperti Modules/Usermanagement
.
Salah satu kebutuhan yang sering muncul adalah mengubah password semua user secara massal. Artikel ini membahas cara melakukannya menggunakan php artisan tinker
di Laravel Modular.
🔧 Prasyarat
- Laravel +
nwidart/laravel-modules
- Model
User
berada di dalam modul (misalnya:Modules/Usermanagement
) - Dapat menjalankan Tinker dengan:
php artisan tinker
Langkah-langkah Mengubah Password User Secara Massal
1. Masuk ke Tinker
php artisan tinker
2. Jalankan Perintah Update Password
Gunakan perintah berikut untuk mengubah password semua user yang memiliki email:
\Modules\Usermanagement\Models\User::whereNotNull('email')->update(['password' => bcrypt('new-password')]);
Gantilah "new-password"
dengan password baru yang ingin kamu tetapkan.
3. Selesai!
Sekarang semua user sudah memiliki password baru yang di-hash menggunakan bcrypt
.
🧠 Tips Tambahan
-
Spesifik Role/User:
\Modules\Usermanagement\Models\User::where('role', 'admin')->update(['password' => bcrypt('new-password')]);
-
User Tertentu (berdasarkan ID):
$user = \Modules\Usermanagement\Models\User::find(1); $user->password = bcrypt('new-password'); $user->save();
-
Cek Namespace Model:
Periksa bagian atas file modelUser.php
, biasanya:namespace Modules\Usermanagement\Models;
🔒 Penting!
- Selalu gunakan
bcrypt()
untuk meng-enkripsi password. - Lakukan backup database sebelum update massal.
- Uji di environment development atau staging terlebih dahulu.
Penutup
Operasi seperti update massal password di Laravel modular memang sedikit berbeda karena struktur folder dan namespace model yang berbeda. Namun, dengan memahami cara kerja Laravel Modules dan Tinker, kamu bisa melakukan berbagai hal powerful langsung dari terminal.
Semoga tutorial ini bermanfaat! Jika kamu punya pertanyaan atau solusi lain, silakan tulis di kolom komentar ya!
0 تعليقات