我有两列都有逗号keyword_whomtoteach和area_tutor的值,当我将多个值传递给$ area和$ keyword_whomtoteach我没有得到正确的输出我正在使用此查询
$toteach=1,5 $area=1,5
$search = "keyword_whomtoteach IN (".$toteach.")";
$where = "area_tutor IN (".$area.")";
$this->db->where($search);
$this->db->or_where($where);
$query=$this->db->get();
return $result = $query->result_array();
这里我得到了正确的结果,但问题是我需要这样的东西 如果
id keyword_whomtoteach area_tutor
1 1,2,3,4,5 1,2
2 2,3,5 2,3
3 5,6,7 1,4
4 1,5,6 5,6
我想要的东西就像我传递$ toteach = 1和$ area = 1,5在这个时间点我应该得到id 1和4,因为它们都有keyword_whometoteach = 1,5
答案 0 :(得分:0)
您应该将FIND_IN_SET(1, column_name) AND FIND_IN_SET(5, column_name)
语法替换为FIND_IN_SET(1, column_name) OR FIND_IN_SET(5, column_name)
或$toteach=1,5 $area=1,5
(取决于所需的结果)。
但是,您的架构不是存储此数据的好方法。标准做法是创建第二个表并在此表中存储以逗号分隔的列表。请阅读Is storing a delimited list in a database column really that bad?,了解有关如何以及为何采用的更多信息。
您还有PHP语法错误($toteach='1,5'; $area='1,5';
应为$toteach
),并且您的MySQL查询需要$area
和[
{
'repeat(5, 10)': {
_id: '{{objectId()}}',
date: '{{date()}}',
date_only: '{{date()}}', //how can I show here date only
time_only: '{{date()}}', //how can I show here time only
user: {
first: '{{firstName()}}',
last: '{{surname()}}'
},
phone: '+1 {{phone()}}'
}
}
]
周围的引号。