<?php

namespace App\Http\Controllers;

use App\Models\Book;
use App\Models\Record;
use Illuminate\Http\Request;

class WebController extends Controller
{
  public function index()
  {
    $books = Book::query()->get();

    return view('home', compact("books"));
  }

  public function page(Request $request)
  {
    $name = $request->name;
    $books = Book::query()->get();

    if (view()->exists('pages.' . $name)){
      return view('pages.' . $name, compact("books"));
    } else {
      abort(404, 'Whatever you were looking for, look somewhere else');
    }
  }
  public function getRecords(Request $request)
  {
    $limit = $request->limit ?? 40;
    $lastID = $request->last_id ?? 0;
    $books = $request->books ?? [];
    $search = $request->search ?? "";

    $records = Record::query()
      ->with("book")
      ->orderBy("id", "ASC")
      ->limit($limit);

    $records->whereIn("kitap_id", $books);

    if (!empty($search)) {
      $records->where(function ($query) use ($search) {
        $query->where('urun_kodu', 'LIKE', "%{$search}%")
          ->orWhere('eski_urun_kodu', 'LIKE', "%{$search}%")
          ->orWhere('tanim', 'LIKE', "%{$search}%");
      });
    }

    if ($lastID) {
      $records->where("id", ">", $lastID);
    }

    $records = $records->get();

    return view('components.table.rows', compact("records"));
  }

  public function detail(Request $request)
  {
    $slug = $request->slug;
    $record = Record::query()
      ->with("book")
      ->where("slug", $slug)
      ->first();

    $lastRecords = Record::query()
      ->with("book")
      ->where("id", ">", $record->id)
      ->orderBy("id", "ASC")
      ->limit(15)
      ->get();

    $books = Book::query()->get();

    return view('detailV2', compact("record", "lastRecords", "books"));
  }
}
merhaba, yukarıdaki kodda tek sorunum şu. bütün türkçe karakterlerde hiç bir sorun yaşamama rağmen ı harfinde sorun yaşıyorum arama sonuçlarını gösterirken. örneğin HAZIR BETON şeklinde aratma yaptığımda hazır betonu getirmiyor ya da hazır beton olarak aratma yaptığımda HAZIR BETON'u getirmiyor. yani I ve ı harflerinde sorunum var. chatgpt ile de bayağı boğuştum ama sonuç alamadım. yardımcı olabilirseniz sevinirim.