针对多个字段的搜索查询,条件很多,链表也会很多,
不妨添加1个条件辅助数组
$condition = array();
多外键链表查询的数组
$join = $on = array();
查询语句的条件 空字符串
$where = '';
这样我们在处理这些多条件的时候,可以把这些条件放到$condition数组中,
例如 $condition[] = $contentids ? "c.contentid IN($contentids)" : "";
处理链表查询语句的写法为
$join[] = "`#table_content_property` ‘p0’";
$on[] = "c.`contentid`=p0.`contentid`";
最后,我们的条件语句为
$where = '';
if ($join) $where .= " LEFT JOIN(".implode(',', $join).") ON(".implode(' AND ', $on).") ";
$where .= ' WHERE '.implode(' AND ', $condition);
这里多外键 left join on 写法 每个join 和 on 是相对应的,
例如
LEFT JOIN(`#table_content_property` p0, `#table_content_property` p1) ON(c.`contentid`=p0.`contentid` AND c.`contentid`=p1.`contentid`);