在我的 laravel 项目中,我有一个数据库字段,用户可以在其中存储要考虑排序的参数及其顺序。即数据表“config”包含这样的列值
status-desc,priority-asc,..etc
在这里,当我编写查询时,我需要使用这些值作为成对的顺序。
ORDER BY status desc, priority asc
我可以像上面那样在查询代码中对此进行硬编码,因为排序列可能会根据用户输入而有所不同。
我已经像这样分别分解了两个标准
$params = explode(',', $sort_param->config_value);
这样我就得到了$params[0] = status-desc 和 $params[1] =priority-asc ...
但是我怎样才能再次分解这些并获取并在 order by 查询中使用它们?
到目前为止我所做的是:
$countt = count($params);
for($prm=0;$prm<$countt;$prm++){
list($k, $v) = explode('-', $params[$prm]);
}
echo $k.' '.$v;
echo $k 和 $v 显示优先级 asc
最佳答案
尝试
$tab = 'status-desc,priority-asc,value,string,demo';
$params = explode(',',$tab);
foreach($params as $v){
$tab2[] = explode('-',$v);
}
$newTab = array_merge($params,$tab2);
print_r($newTab);
关于php - 如何分解键值对并在查询中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354691/