如何使用 joomla 对象构建全文搜索查询。我一直在尝试,但没有成功
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__unis_subjects AS s');
$query->join('', '#__unis AS u ON s.university = u.id');
$query->join('', '#__unis_faculties AS f ON f.id = s.faculty');
$query->where('MATCH (s.subject) AGAINST ("' . $query . '")');
if (!$db->query()) {
throw new Exception($db->getErrorMsg());
}
$data = $db->loadObjectList();
var_dump($query);
结果输出模板配置参数
您的表必须使用 ENGINE = MyISAM(不是 InnoDB)进行设置,并且您要搜索的列必须设置为 FULLTEXT 索引。
您可以通过“SQL”选项卡轻松地将表设置为 phpMyAdmin 中的 MyISAM...
ALTER TABLE `tablename` ENGINE=MYISAM;
在 Joomla 2.5+(也可能是 3+)中,我在查询中使用了 where 子句......
->where('MATCH ('.$db->quoteName('columnname').') AGAINST ('.$db->quote($words_or_phrase_to_search_for).')');
进一步的测试正在进行中,但到目前为止,它似乎按预期工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)