Belajar Laravel 11 | 12. Post Category
Вставка
- Опубліковано 5 лют 2025
- Membuat fitur Post Category pada aplikasi kita sekaligus model, migrasi dan juga relasinya.
#Laravel #Laravel11 #TutorialLaravel
---
Laravel
laravel.com
---
Playlist Belajar Laravel 8
• Belajar LARAVEL 8
Playlist PHP Dasar
• Belajar PHP untuk PEMULA
Playlist Object Oriented PHP
• OOP DASAR pada PHP
Playlist PHP MVC
• Membuat Aplikasi MVC d...
---
🔥 SUPPORT WPU 🔥
👕 Beli Hoodie & T-Shirt di WPU Official Store 👕
shopee.co.id/w...
👾 Gabung Server Discord WPU 👾
/ discord
Traktir Pa Dhika Kopi (OVO / GoPay / Dana / LinkAja)
saweria.co/san...
karyakarsa.com...
---
📢 FOLLOW SOCIAL MEDIA 📢
/ sandhikagalih
tiktok.com/@sandhika.galih
/ sandhikagalih
github.com/san...
terimakasih dan #janganlupatitikkoma!
@sandhikagalih
-komprehensif
-mudah dipahami
-detail
-teori dan praktik imbang
-terstruktur
hatur nuhun pak dika, luar biasa
Sehat-sehat terus, rezekinya semakin berlimpah. Aamiin
kekurangan file git nya ga dikasih haha
Video dah saya nantikan .. terimakasih Pak Dhika ..
supaya sama antara username dan nama saya buat kaya gini pak:
public function definition(): array
{
$name = fake()->name();
$username = str_replace(" ",".", strtolower($name));
return [
'name' => $name,
'username' => $username,
'email' => fake()->unique()->safeEmail(),
'password' => static::$password ??= Hash::make('Password'),
'email_verified_at' => now(),
'remember_token' => Str::random(10),
'created_at'=> $this->faker->dateTimeThisYear($max = 'now', $timezone = null)
];
}
terima kasih sudah sharing
Thanx bang
Saya buat juga biar lebih enak diliat email dan slug.
* UserFactory *
public function definition(): array {
$name = fake()->name();
$username = str_replace(" ", ".", strtolower(($name)));
$domainEmail = fake()->randomElement(['.com', '.org']);
$email = str_replace(" ", ".", strtolower($name)) . '@example' . $domainEmail;
return [
'name' => $name,
'username' => $username,
'email' => $email,
'email_verified_at' => now(),
'password' => static::$password ??= Hash::make('password'),
'remember_token' => Str::random(10),
];
}
* PostFactory *
public function definition(): array {
$title = fake()->sentence();
$slug = str_replace(" ", "-", strtolower(($title)));
return [
'title' => $title,
'author_id' => User::factory(),
'category_id' => Category::factory(),
'slug' => Str::slug($slug),
'body' => fake()->text(),
];
}
Semoga membantu 😃
mantap bang
Terima kasih banyak pak Dika sudah menemani proses belajar saya menjadi programmer laravel hehehe. Semoga kedepannya bisa upload video tutorial Livewire dan Filament
sedikit saran supaya category dan slugnya cocok (misal, katerogi "Web Programing" slugnya "web-programing". Saya definisikan dulu kategorinya kedalam sebuah atribut, lalu atributnya dipakai untuk generate category dan slugnya.
public function definition(): array
{
$category = fake()->sentence(rand(3,4),false);
return [
'category' => $category,
'slug' => Str::slug($category)
];
}
cmiww
1 playlist mulai tgl 2 jam 7:30 selesai tgl 3 jam 11:10
gokil
ternyata migrasi itu dijalankan sesuai urutan file di folder migration yah, tadi file migrasi categories berada di bawah file migrasi post dan itu akan menyebabkan error ketika menjalankan migrasi, karena di file migrasi post itu ada foreign key dari tabel categories, sedangkan migrasi laravel menjalankan file dari posts terlebih dahulu
betul bang tepat nya urutan tanggal, nah error nya itu apakah tidak berlaku untuk sqlite, sedangkan migrasi di mysql pasti error karena table yang mau di relasi nya belum ada.
Kalau saya biasanya buat column foreign key di migrationnya langsung pake class lewat fungsi foreignIdFor
Namun kembali nyamannya pengembang..
Video2 pak dika tetap jadi referensi saya menjadi pembelajaran programning..
bedanya sama unsignetBigInt itu apa pak?
makasiii Pakk dikaa, dari bapak sekarang saya udah bisa jadi programmer dan mau buat kontennn.
kapan-kapan ajak saya ngonten pak hehe
Kalo Saya nemu problem pas generate factory itu pesannya "Class Category not found". Jadi Saya nambahin namespacenya Model Category dalam recycle. Ternyata ada solusi lain juga yaitu bersihin cache. Nambah banyak ilmu kalo sama Pak Dika. :)
saya juga dapet ini tapi setelah ditambahkan Model Category di header nya dah beres ..
saya juga dapet ini tapi setelah ditambahkan Model Category di header nya dah beres ..
@@widiwijayanto6983 Di header mana ya Bang??
saya juga punya problem gini, bang. Tapi saya ga ngerti apa yang abang maksud. Nambahin namespace Model Category dalam recycle maksudnya gimana ya, bang?
punya saya juga sama kayak gini, tapi saya masih tidak paham maksudnya gimna ya bang?
makasiii banyak tutorialnya bang dika
Seneng banget selesai ngerjain tugas, terus pas vidio rilis ternyata hampir sama dengan kodingannya pak Dhika, sampe masalah di tinker juga sama😂
kelazz adiirfan4711
Eror lebih 1jam cuman di urutan migration nya doang wkwkwk thx buat semuanya yg udah share eror kalian serta yg udah bantu jawab makasih😅
14:53 wah ternyata harus di autoload dulu, pantesan class category not found terus, pas nyoba tugas divideo sebelumnya.
Akhirnya error tugas di episode sebelumnya bisa di atasi wkwkw
Solusinya ternyata composer dumpautoload dan optimize 😅 pantesan dari tdi nggak kebaca class nya
sama aku juga kwkwkw
mau tanya pak dan semuanya pas di menit 16:45 saya mengalami error Illuminate\Database\UniqueConstraintViolationException SQLSTATE[23000]: Integrity constraint violation: 19 UNIQUE constraint failed: categories.slug (Connection: sqlite, SQL: insert into "categories" ("name", "slug", "updated_at", "created_at") values (Atque qui., ut, 2024-08-13 10:46:30, 2024-08-13 10:46:30)). yang kaya gini kenapa ya?
Bang izin jawab, punya aku juga kaya gitu, tolong yang sudah jadi minta saran nya 😊
@@husnirizalsahbana coba liat lagi di penulisan nya kak barang kali ada yang salah, yang punya saya gitu kak
@@rizkyfaizkhoeruzan3206 iyakah? Coba nanti saya samakan, punya abangnya masalah nya sama kah? Masalahnya cuman di penulisan nya typo?
@@rizkyfaizkhoeruzan3206 bang alhamdulillah punya saya jadi sudah disamakan dengan di vidio, makasih ilmunya pak semoga menjadi amal jariyah aamiin 🤲🙏
pak dika, kan saya mau belajar laravel, sebaiknya saya belajar yang 8 atau yg 11 ini ya melalui chenel ini?
Sebenarnya Laravel 8,9,10, dan 11 tidak ada perbedaan yang sangat jauh, syntaxnya dominan sama persis. yang paling beda banget hanya ada di Laravel 11 dalam hal menyederhanakan code (struktur folder). Misal kamu belajar Laravel 10, pengajar menunjukkan file api.php pada folder routes. nah di Laravel 11 file ini disederhanakan (disembunyikan). Jadi kalau mau menampakkannya harus menjalankan perintah artisan dulu pada terminal. perintahnya apa? cek ke dokumentasi. Jadi gamasalah kamu mau belajar versi manapun karena syntaxnya masih sama, tapi saranku mending pelajari versi yang terbaru (versi 11) soalnya teknologi cepat berkembang.
Kalo di mysql memang harus berurutan ya pak dika bikin migration tablenya? di mysql pas mau migrate dia gak bisa nyari categories reference key. Terus saya buat urutan file migratenya dari categories dulu baru posts, kali baru bisa dilakukan migrate.
Edit: oh iya bener pak, sqlite somehow gak masalah kalo dia gak berurutan file migrationnya, penasaran kalo di PostgreSQL kalo migrasi kaya gini dia otomatis atau bakal masalah juga.
sama saya juga gini solusinya, di rename
Wkwkw iya saya juga error' itu terus akhirnya Nemu solusinya gak pake itu tapi pake bigInteger
oh gitu ya, akhirnya nemu jg solusinya.. sy pakai mysql soalnya hehehee.. thx bang
sama ya ampun 2 jam cuman artisan migrate fress error mulu
saya pake postgreSQL sama juga masalahnya
Maksih pak dika
kalo multi category gimana pak?
makasih pak
Error Class "Database\Factories\Str" not found. Mohon arahan pak
pak yang saya error pak
SQLSTATE[HY000]: General error: 1824 Failed to open the referenced table 'categories' (Connection: mysql, SQL: alter table `posts` add constraint `posts_category_id` foreign key (`category_id`) references `categories` (`id`))
kenapa pak🙏😀
Rename nama file migrations categories atau posts. Intinya supaya urutan categories itu ada di atas, dan posts dibawahnya. Karena migrate:fresh itu prosesnya dimulai dari urutan yang paling atas, baru yang bawah
@@farhankamil9228 sangat membantu terimakasih
@@farhankamil9228 makasih kak
waktu ngerjain PR sya juga ada masalah di factory, krn dak nemu masalahnya malah nyoba nulis di seed dan ternyata bisa.
kok saya masih404 not found nya dibagian akhir ? padahal udah ngikuti dari awail dengan bagus
sampean typo
@@PekzMDZ itu erorr nya pas route username nya ya kak? atau d bgian mananya?
saya juga mengalami hal yang sama tapu sudah saya periksa tidak ada yg typo, mungkin bisa d kasih tau kira kira typo nya bakal d bgian mana
QLSTATE[HY000]: General error: 1824 Failed to open the referenced table 'categories' (Connection: mysql, SQL: alter table `posts` add constraint `posts_category_id` foreign key (`category_id`) references `categories` (`id`))
jika kalian ada error ketika melakakukan migrate fresh kembali setelah membuat tabel categories seperti di atas ini
coba ganti file migration categories nya seperti dibawah ini
2025_01_22_134937_create_categories_table.php
atau tanggal random lainnya dikarenakan laravel ini melakukan tugas migration berdasarkan timestampnya pada urutan waktu file migrationnya jadi seharusnya yang di migration itu file categorynya terlebih dahulu setelah itu baru post
sama sama
nice kak bisa
Pake metode controller pak biar sekali jalan
kenapa jarang pake migrate:fresh --seed pak?
Kan belum belajar seeder, baru di video berikutnya kita bahas.. sabar ya 😁
Nggak dilanjutin lagi pak playlist Tantangan coding nya
akan dilanjutkan, belum diedit aja
sorry mau nanya, siapa tau ad yg bisa bantu. saya baru belajar pertama kali laravel ini. ini kenapa sy gk bisa migrate:fresh ya. (di detik 13:57). saya stuck sampai situ lalu error. padahal saya sudah ikutin persis semua code playlist sampai sini tidak pernah ada error. udah sampai nonton ini diulang 3x sama tapi ttp error :( helepp.
ini errornya:
php artisan migrate:fresh
Dropping all tables .............................................. 53.83ms DONE
INFO Preparing database.
Creating migration table .......................................... 7.61ms DONE
INFO Running migrations.
0001_01_01_000000_create_users_table ............................. 59.68ms DONE
0001_01_01_000001_create_cache_table ............................. 10.84ms DONE
0001_01_01_000002_create_jobs_table .............................. 46.09ms DONE
2024_05_30_121706_create_posts_table ............................. 51.89ms FAIL
Illuminate\Database\QueryException
SQLSTATE[HY000]: General error: 1005 Can't create table `wpu_laravel11`.`posts` (errno: 150 "Foreign key constraint is incorrectly formed") (Connection: mysql, SQL: alter table `posts` add constraint `posts_category_id` foreign key (`category_id`) references `categories` (`id`))
ubah urutan tabel di migrations, menjadi
0001_01_01_000000_create_users_table.php
0001_01_01_000001_create_cache_table.php
0001_01_01_000002_create_jobs_table.php
0001_01_01_114643_create_categories_table.php
2024_05_30_121706_create_posts_table.php
semoga membantu
sama
@@jabsAmir ohh iya saya pake mysql, kalo ga berurutan error terus, pas saya ganti nama file nya menjadi 00003 baru bisa, yang penting categories dlu baru posts
@@jabsAmir kenapa harus categories dlu yah? ada yang tau
@@parispaizal karna posts ngambil foreign key dari primary key category, jadi kalau gak ada tabel category, posts gak tau mau ambil foreign key dari mana, kira kira gitu sih yang aku tau