Yani bir arama dizesi alır (kelime herhangi bir sayı olabilir) ve ek olarak deyimi) IN aşağıdaki kullanmak bir liste halinde her bir değeri açmak için çalışıyorum, benim sahip sayısı ile kullanmak için tüm bu değerlerin sayısını gerekir filtre
$search_array = explode(" ",$this->search_string);
$tag_count = count($search_array);
$db = Connect::connect();
$query = "select p.id
from photographs p
left join photograph_tags c
on p.id = c.photograph_id
and c.value IN ($search_array)
group by p.id
having count(c.value) >= $tag_count";
Bu şu anda herhangi bir sonuç döndürürse, herhangi bir fikir?
Çözüm:
$search_array = explode(" ",$this->search_string);
foreach ($search_array as $key => $value) {
$new_search_array[] = "'$value'";
}
$search_string = implode(',', $new_search_array);
Bu bana bir virgülle ayrılmış listesini verir