laravel-apieval()’d code on line 1 Hata Çözümü

Tinkerda Product::get() yada \App\Product::get() şeklinde çalıştırdığınızda olası olarak alabileceğiniz hata:

PHP Error: Class ‘App\Product’ not found in C:\Users\pcname\laravel-apieval()’d code on line 1

ÇÖZÜMÜ
Laravel 8’de güncel olarak çalışan komut:

\App\Models\Product::get()

şeklinde olacaktır…

Laravel 8 Table Seeder içinde Faker Kullanımı

Örnek çalışma aşağıdadır.

<?php
use App\Models\Category;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Faker\Factory as Faker;
use Illuminate\Support\Str;
class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
 
     //   DB::table('categories')->truncate(); bunun yerine model kullanabiliriz
 
       Category::truncate();
       $faker = Faker::create();
        for($i=0; $i<30; $i++) {
           $category_name = rtrim($faker->sentence(1), '.');
            Category::create([
            'name' => $category_name,
            'slug' => Str::slug($category_name)
            ]);
        }
 
        //
    }
    }
}
?>

CategoriesTableSeeder isimli class yapısıyla beraber seed işlemi yapmak için örnek komut satırı:

 php artisan db:seed --class=CategoriesTableSeeder

Laravel 8 Route::resource Controller Tanımlaması nasıl yapılır?

Sorunsuz bir şekilde OrnekController isimli bir controller oluşturduktan sonra route tanımlaması aşağıdaki gibi yapılması uygun olacaktır.

Route::resource('/products','App\Http\Controllers\OrnekController');

Eski sürümlerde yapılan tanımlama ise şöyleydi:

Route::resource('/products','OrnekController');

Bu şekilde yapacağınız tanımlar laravel 8 ve sonrasında sorun oluşturabilir.