• 04-09-2021, 14:46:29
    #1
    ALDIĞIM HATA

    Alıntı
    SQLSTATE[42S22]: Column not found: 1054 Unknown column '36' in 'where clause' (SQL: select * from `etkinlik_detay` where (`36` is null and `1WwuJfDfbx5TYg62C85eOHONGKJk3LrGqTRbqWqk`.`png` is null) limit 1)



    --migrations
    public function up()
    {
    Schema::create('etkinlik_detay', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('etkinlik_id')->unsigned()->unique();
    $table->boolean('goster_slider')->default(0);
    $table->boolean('goster_gunun_firsati')->default(0);
    $table->boolean('goster_one_cikan')->default(0);
    $table->boolean('goster_cok_satan')->default(0);
    $table->boolean('goster_indirimli')->default(0);
    $table->string('etkinlik_resmi', 50)->nullable();
    $table->foreign('etkinlik_id')->references('id')->on('etkinlik')->onDelete('cascade');
    });
    }


    ---model
    class EtkinlikDetay extends Model
    {
    protected $table = "etkinlik_detay";
    protected $guarded = [];
    public $timestamps = false;

    public function etkinlik()
    {
    return $this->belongsTo('AppModelsEtkinlik');
    }
    }

    ---controller
    public function kaydet($id = 0)
    {
    $data = request()->only('etkinlik_adi', 'slug', 'aciklama', 'fiyati', 'etkinlik_sahibi');
    if (!request()->filled('slug'))
    {
    $data['slug'] = str_slug(request('etkinlik_adi'));
    request()->merge(['slug' => $data['slug']]);
    }

    $this->validate(request(), [
    'etkinlik_adi' => 'required',
    'fiyati' => 'required',
    'slug' => (request('original_slug')!=request('slug') ? 'unique:etkinlik,slug' : '')
    ]);

    $data_detay = request()->only('goster_slider', 'goster_gunun_firsati', 'goster_one_cikan', 'goster_cok_satan');

    $kategoriler = request('kategoriler');

    if ($id > 0)
    {
    $entry = Etkinlik::where('id', $id)->firstOrFail();
    $entry->update($data);

    $etkinlik_detay = EtkinlikDetay::where('etkinlik_id', $id)->firstOrFail();
    $entry->detay()->update($data_detay);
    $entry->kategoriler()->sync($kategoriler);
    } else {
    $entry = Etkinlik::create($data);
    $entry->detay()->create($data_detay);
    $entry->kategoriler()->attach($kategoriler);
    }

    if (request()->hasFile('etkinlik_resmi'))
    {
    $this->validate(request(), [
    'etkinlik_resmi' => 'image|mimes:jpeg,jpg,png,gif|max:16000'
    ]);

    $etkinlik_resmi = request()->file('etkinlik_resmi');
    $etkinlik_resmi = request()->etkinlik_resmi;

    $dosyaadi = $etkinlik_resmi->hashName();
    if ($etkinlik_resmi->isValid())
    {
    $etkinlik_resmi->move('uploads/etkinlikler', $dosyaadi);

    EtkinlikDetay::updateOrCreate([
    ['etkinlik_id' => $entry->id],
    ['etkinlik_resmi' => $dosyaadi]
    ]);
    }
    }

    return redirect()
    ->route('yonetim.etkinlik.duzenle', $entry->id)
    ->with('mesaj', ($id>0 ? 'Kategori Başarılı Bir Şekilde Güncellendi' : 'Kategori Başarılı Bir Şekilde Kaydedildi'))
    ->with('islem', 'Başarılı')
    ->with('mesaj_tur', 'success');
    }
  • Kabul Edilen Cevap
    • 1 Beğeni
      Yamtar_ adlı üyeden alıntı: mesajı görüntüle
      yardımınız için sağolun hocam çözdüm
      Kolay gelsin

      Cevapsız kalmasın sorunuz
      DB de sütun Tekil durumda olduğundan aynı olan 36 yı tekrar ekliyorsun bundan oluyor.
      Duplicate(ikinci) entry '36' for key 'etkinlik_detay_etkinlik_id_unique'(index tekil)

      Bu kadar açıklayabildim
      Belki yarın birine lazım olur.
  • 04-09-2021, 15:00:36
    #2
    Yamtar_ adlı üyeden alıntı: mesajı görüntüle
    ALDIĞIM HATA




    --migrations
    public function up()
    {
    Schema::create('etkinlik_detay', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('etkinlik_id')->unsigned()->unique();
    $table->boolean('goster_slider')->default(0);
    $table->boolean('goster_gunun_firsati')->default(0);
    $table->boolean('goster_one_cikan')->default(0);
    $table->boolean('goster_cok_satan')->default(0);
    $table->boolean('goster_indirimli')->default(0);
    $table->string('etkinlik_resmi', 50)->nullable();
    $table->foreign('etkinlik_id')->references('id')->on('etkinlik')->onDelete('cascade');
    });
    }


    ---model
    class EtkinlikDetay extends Model
    {
    protected $table = "etkinlik_detay";
    protected $guarded = [];
    public $timestamps = false;

    public function etkinlik()
    {
    return $this->belongsTo('AppModelsEtkinlik');
    }
    }

    ---controller
    public function kaydet($id = 0)
    {
    $data = request()->only('etkinlik_adi', 'slug', 'aciklama', 'fiyati', 'etkinlik_sahibi');
    if (!request()->filled('slug'))
    {
    $data['slug'] = str_slug(request('etkinlik_adi'));
    request()->merge(['slug' => $data['slug']]);
    }

    $this->validate(request(), [
    'etkinlik_adi' => 'required',
    'fiyati' => 'required',
    'slug' => (request('original_slug')!=request('slug') ? 'unique:etkinlik,slug' : '')
    ]);

    $data_detay = request()->only('goster_slider', 'goster_gunun_firsati', 'goster_one_cikan', 'goster_cok_satan');

    $kategoriler = request('kategoriler');

    if ($id > 0)
    {
    $entry = Etkinlik::where('id', $id)->firstOrFail();
    $entry->update($data);

    $etkinlik_detay = EtkinlikDetay::where('etkinlik_id', $id)->firstOrFail();
    $entry->detay()->update($data_detay);
    $entry->kategoriler()->sync($kategoriler);
    } else {
    $entry = Etkinlik::create($data);
    $entry->detay()->create($data_detay);
    $entry->kategoriler()->attach($kategoriler);
    }

    if (request()->hasFile('etkinlik_resmi'))
    {
    $this->validate(request(), [
    'etkinlik_resmi' => 'image|mimes:jpeg,jpg,png,gif|max:16000'
    ]);

    $etkinlik_resmi = request()->file('etkinlik_resmi');
    $etkinlik_resmi = request()->etkinlik_resmi;

    $dosyaadi = $etkinlik_resmi->hashName();
    if ($etkinlik_resmi->isValid())
    {
    $etkinlik_resmi->move('uploads/etkinlikler', $dosyaadi);

    EtkinlikDetay::updateOrCreate([
    ['etkinlik_id' => $entry->id],
    ['etkinlik_resmi' => $dosyaadi]
    ]);
    }
    }

    return redirect()
    ->route('yonetim.etkinlik.duzenle', $entry->id)
    ->with('mesaj', ($id>0 ? 'Kategori Başarılı Bir Şekilde Güncellendi' : 'Kategori Başarılı Bir Şekilde Kaydedildi'))
    ->with('islem', 'Başarılı')
    ->with('mesaj_tur', 'success');
    }
    etkinlik_detay` where (`36` is null 
    36 diye bir kolon yok diyor SQL de böyle bir kolon yok demektir.

    "etkinlik_detay" bu tabloya gidip bak ve değiştir sorgunu
  • 04-09-2021, 15:12:10
    #3
    Sudar adlı üyeden alıntı: mesajı görüntüle
    etkinlik_detay` where (`36` is null 
    36 diye bir kolon yok diyor SQL de böyle bir kolon yok demektir.

    "etkinlik_detay" bu tabloya gidip bak ve değiştir sorgunu
    Öncelikle yardımınız için çok teşekkür ederim
    böyle olan sorguyu
    EtkinlikDetay::updateOrCreate([
    ['etkinlik_id' => $entry->id],
    ['etkinlik_resmi' => $dosyaadi]
    ]);
    bununla değiştirdim
    EtkinlikDetay::create([
    'etkinlik_id' => $entry->id,
    'etkinlik_resmi' => $dosyaadi
    ]);
    aşağıdaki gibi bir sorgu oluştu ama çalışmadı queryexception hatası aldım
    (SQL: insert into `etkinlik_detay` (`etkinlik_id`, `etkinlik_resmi`) values (36, bNtUGF0OgkSYFdDjR1CHDiwPawup4DCUYArPxeh4.png))

    aldığım hata da bu
    Alıntı
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '36' for key 'etkinlik_detay_etkinlik_id_unique' (SQL: insert into `etkinlik_detay` (`etkinlik_id`, `etkinlik_resmi`) values (36, bNtUGF0OgkSYFdDjR1CHDiwPawup4DCUYArPxeh4.png))
  • 04-09-2021, 15:27:46
    #4
    Sudar adlı üyeden alıntı: mesajı görüntüle
    etkinlik_detay` where (`36` is null 
    36 diye bir kolon yok diyor SQL de böyle bir kolon yok demektir.

    "etkinlik_detay" bu tabloya gidip bak ve değiştir sorgunu

    yardımınız için sağolun hocam çözdüm
  • 14-09-2021, 18:23:31
    #5
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Yamtar_ adlı üyeden alıntı: mesajı görüntüle
    yardımınız için sağolun hocam çözdüm
    Kolay gelsin

    Cevapsız kalmasın sorunuz
    DB de sütun Tekil durumda olduğundan aynı olan 36 yı tekrar ekliyorsun bundan oluyor.
    Duplicate(ikinci) entry '36' for key 'etkinlik_detay_etkinlik_id_unique'(index tekil)

    Bu kadar açıklayabildim
    Belki yarın birine lazım olur.