laravel动态定制计算
我有一个关于数据库查询的问题。目前,我正在进行以下分页:laravel动态定制计算,laravel,eloquent,Laravel,Eloquent,我有一个关于数据库查询的问题。目前,我正在进行以下分页: $permissions = Product_permission::groupBy("societe_id")->paginate(15); 产品\u权限有一列访问,其中包含以下值(web、表单、api) 我想在查询中创建一个权重变量,它是一个加权变量,如下所示(web=1,form=2,api=3),并按societe_iddesc对总和组进行排序 你知道怎么做吗?像这样的东西应该能用 $permissions = Produ
$permissions = Product_permission::groupBy("societe_id")->paginate(15);
产品\u权限
有一列访问
,其中包含以下值(web、表单、api)
我想在查询中创建一个权重变量,它是一个加权变量,如下所示(web=1,form=2,api=3)
,并按societe_id
desc
对总和组进行排序
你知道怎么做吗?像这样的东西应该能用
$permissions = Product_permission::groupBy("societe_id")->paginate(15);
foreach($permission as $permission){
$auxArr = explode(",", $permission->access);
$auxCount = 0;
foreach($auxArr as $access_col_value)
if($access_col_value == 'web'){
$auxCount += 1;
}else if($access_col_value == 'form'){
$auxCount += 2;
}else if($access_col_value == 'api'){
$auxCount += 3;
}
$permission->acces_col_sum = $auxCount;
}
如果你想让它雄辩。。。您必须添加一个包含大小写的selectRaw,并添加所有可能的排列及其值,如:
CASE WHEN access = 'web,form,api' OR access = 'api,form,web'....
除非您确定这总是有相同的顺序,否则我不会推荐它…我认为在设计上有更好的解决方案。。。您可以使用三列。。。或者可以使用hasMany表/关系。。。甚至是存储有效值的表和透视表。。。如果你真的需要这个结构。。。请提供一些示例数据和预期结果。access列包含字符串“web、表单、api”或
id:1 access:web
和id:2 access:form
?按access一行,即id:1 access:web和id:2 access:form