感谢Gwendal回答这个问题,我正在修改这个答案,以防止重复插入,例如:-如果用户插入
糖类CaNe
但我们的数据库中有
甘蔗
那么有了答案的代码,我们就有了2
甘蔗
为了避免这些类型的插入,我们可以将此代码用于模型
<?php
public function getIngredientByName($name) {
return $this->db
->from('ingredient I')
-> where("( REPLACE( LOWER(I.name), ' ', '') LIKE '".strtolower(preg_replace('/\s+/', '', $name)) ."%')")
->get()->row(); //Will return the row of ingredient if ingredient exists, else null
}
控制器与
<?php
foreach(explode(',', $this->input->post('ingredients')) as $key => $value)
{
if (!$this->products_model->getIngredientByName($value)) {
$saveData[] = array(
'ingredient_id' => null,
'name' => trim($value)
);
}
}