Kār*_*els 2 php mysql enums codeigniter
我有枚举字段制造商
`manufacturer` ENUM('Manufacturer1','Manufacturer2','Manufacturer3','Manufacturer4') NOT NULL
Run Code Online (Sandbox Code Playgroud)
我有一个包含多个制造商值的数组。如何编写查询来选择具有制造商 1 或制造商 3 的每一行?
我可以这样写:
SELECT FROM table_name WHERE manufacturer=manufacturer1 OR manufacturer=manufacturer3;
Run Code Online (Sandbox Code Playgroud)
但我正在寻找较短的版本,例如:
SELECT FROM table_name WHERE manufacturer=$myArrayOfManufaturers;
Run Code Online (Sandbox Code Playgroud)
我从清单中获取了制造商的可能值,因此制造商的数量可以根据用户的选择而变化。
我的网站是使用 CodeIgniter 构建的,所以我尝试过
$query = $this->db->get_where('products', array('manufacturer' => $data['manufacturers']));
and using forech loop
foreach ($data['manufaturers'] as $man) {
$this->db->or_where('manufacturer'=$man)
}
Run Code Online (Sandbox Code Playgroud)
但无法理解如何将第一个设置为何处。
您可以使用 IN 查询,例如
SELECT FROM table_name WHERE manufacturer IN ('Manufacturer1','Manufacturer2')
Run Code Online (Sandbox Code Playgroud)