ge">
Soalan newbie: Saya cuba melaksanakan carian teks penuh pada rentetan carian menggunakan php dan fasih.
$searchstring = "+(mangsa disyaki) +jenayah -covid"; $searchresult = RssItem::whereRaw("PERLAWANAN (huraian) TERHADAP ('$searchstring' DALAM MOD BOOLEAN)")->get(); Saya mahu pengguna saya dapat menetapkan rentetan carian seperti ini:
$searchstring = "(mangsa ATAU suspek) DAN jenayah BUKAN covid";
Adakah terdapat cara mudah untuk menukar input pengguna kepada rentetan carian teks penuh boolean untuk mysql dalam php?
Saya telah melakukannya dengan cara ini:
$searchstring = '(victim OR suspect) AND crime NOT covid'; $searchstring = str_replace(" OR ", ' ', $searchstring); $searchstring = str_replace(" AND ", ' +', $searchstring); $searchstring = str_replace(" NOT ", ' -', $searchstring); $searchstring = '+'.$searchstring; $searchresult = RssItem::whereRaw("MATCH (description) AGAINST ('$searchstring' IN BOOLEAN MODE)")->get();Tetapi mungkin ada cara yang lebih baik? :-)