selamlar öncelikle durumu ben şöle anlatayım 9 tane box_1,box_2,box3... böle 9 a kadar giden tablomuz var tabi bu sayı 115'e çıkıcak
ondan sonra color1,color2 yine aynı şekilde 9'a kadar gidiyor yinee aynı şekilde data1,data2 diye 9 a kadar giden tablolar var inputa bir sayı girildiğinde örneğin ilk önce 2 girdik ondan sonra 6 sayısını girdik bu 6 rakamını box tablolarına gidiyor ve box_1 box_2 gibi 26 kolonda bu sayıyı arıyor eğer bu sayı eşleşirse her bir color tablosuna color1,color2 gibi bu tablolara yellow yazıyor eğer bu sayıyı bulamazsa blue yazıyor ama şöle bir durum var her box tablosu örneğin box1 color1 tablosundan sorumlu box2 color2 tablosundan sorumludur. şimdi benim sorunum şu ben aşağıda size atacağım kodlarda veritabanına kayıt yapıyor fakat her kayıtta color tablolarına ya yellow yazıyor 9 tanesinede her kayıtta yada blue yazıyor yani herne hikmetse 9 tane box tablosunda bunları sorgulayamadım iflermi çalışmıyor anlamadım bana yardımcı olurmusunuz lütfen chatgptye sordum halledemedi bu işi
kodlar:
public function Searchnumber(Request $request)
{
$query = $request->input('query');
# burda bir önceki datayı almak için veritabanına kayıt yapılıyor
$back=Backtab::insert([
'color_back' => $query,
'user_email' => Auth::user()->email,
]);
$control_esit = Backtab::where('user_email', Auth::user()->email)
->orderBy('id', 'desc')
->first();
// En son eklenen veri dışındaki bir önceki veriyi alın
$control_back = Backtab::where('user_email', Auth::user()->email)
->where('id', '<', $control_esit->id)
->orderBy('id', 'desc')
->first();
// burdada eşit olmayan
//burda ise bir önceki dataya almak için sorgu yapılıyor
if (!$control_back) {
return response()->json(['error' => 'Geçmiş veri bulunamadı'], 404);
}
//burda 7.8.9 tablolara erişiliyor işlem yapılıyor
// 1'den 115'e kadar tablo isimlerini oluştur
$tabloIsimleri = [];
for ($i = 1; $i <= 9; $i++) {
$tabloIsimleri[] = "box$i";
}
// UniversalModel'i kullanarak tabloları sorgula
$veriler = new Universal();
foreach ($tabloIsimleri as $tablo) {
$veriler->setTableName($tablo)
->where('box_id', 'LIKE', '%' . $control_back->color_back . '%')
->first();
$colorUniversal=
($veriler->box_1 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_2 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_3 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_4 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_5 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_6 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_7 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_8 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_9 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_10 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_11 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_12 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_13 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_14 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_15 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_16 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_17 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_18 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_19 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_20 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_21 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_22 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_23 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_24 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_25 == $control_esit->color_back) ? 'yellow': 'blue';
($veriler->box_26 == $control_esit->color_back) ? 'yellow': 'blue';
}
$tabloisimleri_data = [];
for ($i = 1; $i <= 9; $i++) {
$tabloisimleri_data[] = "data$i";
}
$tabloisimleri_insert = [];
for ($i = 1; $i <= 9; $i++) {
$tabloisimleri_insert[] = "color$i";
}
$model_data = new Universal();
$model_data_ins = new Universal();
foreach ($tabloisimleri_data as $index => $tablo_data) {
// Her tablo için veri çek
$data_cevirici = $model_data->setTableName($tablo_data)
->where('color_id', $query)
->first();
// Eğer veri bulunamazsa sonraki tabloya geç
if (!$data_cevirici) {
continue;
}
// İlgili tabloya insert işlemi
$tablo_insert = $tabloisimleri_insert[$index];
$model_data_ins->setTableName($tablo_insert)
->insert([
'color_1' => $data_cevirici->color_1,
'color_2' => $data_cevirici->color_2,
'user_email' => Auth::user()->email,
'color_name' => $colorUniversal,
]);
}
//burda 7.8.9 tablolara erişiliyor işlem yapılıyor
$control_backs=Backtab::where('user_email',Auth::user()->email)
->where('color_back', '!=', $query)
->orderBy('id', 'desc')->first();
//burda bir önceki tabloya geçiş işlemi yapılıyor
//burda son yazdığımız sayılar var
$end=Enddata::insert([
'data_nums' => $query,
'email' => Auth::user()->email,
]);
//burda son yazdığımız sayılar var
// burada 250 veya daha üstü girilen bir sayı data olduğu zaman son datayı siliyor
// burda kullanıcıdan silmek istediğimiz sayı değerini alıyoruz
$user_sayi=User::where('email',Auth::user()->email)->first();
// burda kullanıcıdan silmek istediğimiz sayı değerini alıyoruz
$son_color=[];
for($i=1; $i <=9; $i++){
$son_color[]="color$i";
}
$model_son=new Universal();
foreach($son_color as $soncolor){
$tablolar_silinicek= $model_son->setTableName($soncolor)
->where('user_email',Auth::user()->email)
->get();
}
if ($tablolar_silinicek->count() == $user_sayi->data_number) {
# code...
foreach($son_color as $delete_color){
$silinenler= $model_son->setTableName($delete_color)
->orderBy('id', 'asc')
->limit(1)
->where('user_email',Auth::user()->email)->delete();
}
}
if ($delete_record) {
# code...
return response()->json([
'message' => 'İşlem silindi',
],201);
}
// burada 250 veya daha üstü girilen bir sayı data olduğu zaman son datayı siliyor
}