1.封裝方法
function getRandTable($nums, $tables)
{
$num = $nums; //需要抽取的默認條數
$table = $tables; //需要抽取的數據表
$pk = Db::name($table)->getPK();//獲取主鍵
$countcus = Db::name($table)->field($pk)->select();//查詢數據
$con = '';
foreach($countcus as $v=>$val){
$con.= $val[$pk].'|';
}
$array = explode("|",$con);// 拆分
$data = [];
foreach ($array as $v){
if (!empty($v)){
$data[$v]=$v;//循環健值
};
}
$a=array_rand($data,$num) ;//隨機數組
$list = Db::name("$table")->where($pk,'in',$a)->select();
return json($list);
}
2.查詢數據
$q =Db::name('cms_testdetail')->where('rand()')->limit(2)->select();