一、使用Expression类
use think\db\Expression;
$str = "5,3,7,6";
$order = new Expression('field(id,'.$str.')');
$where['id'] = ['in',explode(',' , $str)];
$data = Db::name('db')->where($where)->field("id,title")->order($order)->select();
二、直接语句中写入
官方文档中也提供了对应的sql语句查询,并举例了随机5条数据查询
$str = "5,3,7,6";
$where['id'] = ['in',explode(',' , $str)];
$data = Db::name('db')->where($where)->field("id,title")->orderRaw('field(id,'.$str.')')->select();
想对于引入类更简便一些