basicdb icon indicating copy to clipboard operation
basicdb copied to clipboard

Where = fonksiyon , diyebilmek?

Open tolgaslan2 opened this issue 3 years ago • 5 comments

$arr = $db->from("availability")
    ->select("availability_title")
    ->where("availability_date1","current_date()")
    ->all();

Burda availability_date1 sütunu bugüne eşit olanları çekmek istiyorum . Fakat fonksiyon kullandığım için string olarak alıyor heralde.

where availability_date1='current_date()' şekline çeviriyor. where availability_date1=current_date() bu ise benim isteğim. Tekrar dökümanlara bakıcam ama bulamamıştım.

tolgaslan2 avatar Jul 28 '20 14:07 tolgaslan2

Aşağıdaki gibi kullanabilirsiniz. Daha fazla bilgi için bu bağlantıya gözatabilirsiniz. https://www.php.net/manual/tr/functions.anonymous.php

$arr = $db->from("availability") ->select("availability_title") ->where(function(){ return 'availability_date1';},current_date()) ->all();

ghost avatar Jul 28 '20 15:07 ghost

Dediğinizi denedim fakat olmadı, benim kullanmak istediğim fonksiyon bir mysql fonksiyonu, fakat siz php fonksiyonu gibi yazdırmışsınız orda. Teşekkürler yine de

tolgaslan2 avatar Jul 28 '20 15:07 tolgaslan2

Dediğinizi denedim fakat olmadı, benim kullanmak istediğim fonksiyon bir mysql fonksiyonu, fakat siz php fonksiyonu gibi yazdırmışsınız orda. Teşekkürler yine de

Şöyle yapmayı deneyebilirsiniz.

$arr = $db->from("availability") ->select("availability_title") ->where("availability_date1", $db->query('SELECT CURRENT_DATE()')->fetchColumn()) ->all();

Veritabanı sunucusunun tarih damgası yerine PHP'nin tarih damgasını kullanmayı düşünürseniz (ki daha hafif olur) aşağıdaki şekilde kullanmanız da mümkün.

$arr = $db->from("availability") ->select("availability_title") ->where("availability_date1", date('Y-m-d')) ->all();

ghost avatar Jul 29 '20 14:07 ghost

Dediğinizi denedim fakat olmadı, benim kullanmak istediğim fonksiyon bir mysql fonksiyonu, fakat siz php fonksiyonu gibi yazdırmışsınız orda. Teşekkürler yine de

Şöyle yapmayı deneyebilirsiniz.

$arr = $db->from("availability") ->select("availability_title") ->where("availability_date1", $db->query('SELECT CURRENT_DATE()')->fetchColumn()) ->all();

Veritabanı sunucusunun tarih damgası yerine PHP'nin tarih damgasını kullanmayı düşünürseniz (ki daha hafif olur) aşağıdaki şekilde kullanmanız da mümkün.

$arr = $db->from("availability") ->select("availability_title") ->where("availability_date1", date('Y-m-d')) ->all();

Farklı bi şekilde çözdüm. https://github.com/tayfunerbilen/basicdb/blob/84a22831a58c904cc849521334e23a33b1b4c163/src/BasicDB.php#L40

Kullanmak istediğimiz fonksiyonları buraya yazıyoruz sanırım. Teşekkürler

tolgaslan2 avatar Jul 30 '20 09:07 tolgaslan2

Dediğinizi denedim fakat olmadı, benim kullanmak istediğim fonksiyon bir mysql fonksiyonu, fakat siz php fonksiyonu gibi yazdırmışsınız orda. Teşekkürler yine de

Şöyle yapmayı deneyebilirsiniz.

$arr = $db->from("availability") ->select("availability_title") ->where("availability_date1", $db->query('SELECT CURRENT_DATE()')->fetchColumn()) ->all();

Veritabanı sunucusunun tarih damgası yerine PHP'nin tarih damgasını kullanmayı düşünürseniz (ki daha hafif olur) aşağıdaki şekilde kullanmanız da mümkün.

$arr = $db->from("availability") ->select("availability_title") ->where("availability_date1", date('Y-m-d')) ->all();

Farklı bi şekilde çözdüm. https://github.com/tayfunerbilen/basicdb/blob/84a22831a58c904cc849521334e23a33b1b4c163/src/BasicDB.php#L40

Kullanmak istediğimiz fonksiyonları buraya yazıyoruz sanırım. Teşekkürler

Rica ederim.

ghost avatar Jul 30 '20 14:07 ghost