我有这个查询用于搜索多个数据,但它只是静态的
user_model.php(coeigniter)
public function get_halal()
{
$term = "Buko,Beef,Sugar";
$terms = explode(',', $term);
foreach($terms as $term){
$this->db->select('*');
$this->db->from('recipe');
$this->db->join('menu', 'menu.recipe_id = recipe.recipe_id');
$this->db->join('ingredient', 'ingredient.ingredient_id = menu.ingredient_id');
$this->db->where('menu.category_id = 2');
$this->db->like('ingredient.name', $term);
$query = $this->db->get()->result();
}
return $query;
}
我希望它是动态的并连接到我的离子应用程序。我该怎么做?
答案 0 :(得分:0)
当您考虑创建一个函数(或类)时,首先必须抽象问题以了解此函数在不同的上下文中有多大用处。没有规则,这取决于您的背景和目标。
在您的示例中,即函数返回数据库查询对象的术语“Buko”,“Beef”和“Sugar”(事实上,仅用于“Sugar”)。如果您以这种方式修改您的功能:
public function get_halal( $what )
您可以重复使用该功能搜索任何字词。
如果以这种方式修改功能:
public function get_halal( $what )
{
if( is_array($what) ) ...
else ...
您可以使用相同的功能搜索一个或多个术语。
如果以这种方式修改功能:
public function get_halal( $what, $where )
您可以搜索各个字段中的字词。
有很多可能性,这是编码的最佳乐趣。