实例
$title='keyword';//查询关键字
$conditionTwo=[
['title','like','%'.$title.'%'],
['content','like','%'.$title.'%']
];
$list=Db::name('book')
->field('LOCATE("'.$title.'",title) as tIndex,LOCATE("'.$title.'",content) as cIndex')//获取关键字的位置:LOCATE(关键字,字段) 返回索引位置
->whereOr($conditionTwo)//多字段条件查询
->order('tIndex, cIndex')//按tIndex 值排序
->select();
mysql LOCATE函数用法
LOCATE(关键词,字段,定义起始位置【非必填项】)
语法 一:
LOCATE(substr,str)
返回字符串substr中第一次出现子字符串的位置 str。
语法二:
LOCATE(substr,str,pos)
返回字符串substr中第一个出现子 字符串的 str位置,从位置开始 pos。0 如果substr不在,则 返回str。返回 NULL如果substr 或者str是NULL。
简单例子:
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0
mysql> SELECT LOCATE('bar', 'foobarbar', 5);
-> 7