例如,我对用户有5个等级,如初学者、聪明、天才等。
每个等级都有自己的评分系统。我用正确的方式去实现它吗?
if ($score > 10) {
$user = User::find($id);
$user->ranks = 'beginner';
$user->save();
}
if ($score > 20) {
$user = User::find($id);
$user->ranks = 'smarty';
$user->save();
}
还有3个if子句
发布于 2018-06-04 04:05:05
1个解决方案(db中的一个请求)
$data = [];
if ($score > 10) {
$data['ranks'] = 'beginner';
} elseif ($score > 20) {
$data['ranks'] = 'smarty';
} elseif ('condition') {
$data['ranks'] = 'new value';
} else {
$data['ranks'] = 'default value';
}
User::where('id', $id)->update($data);
2个解决方案(数据库中有两个请求,一个请求查找用户,第二个请求更新用户)
$ranks = '';
if ($score > 10) {
$ranks = 'beginner'
} elseif ($score > 20) {
$ranks = 'smarty'
} elseif('condition') {
$ranks = 'new value'
} else {
$ranks = 'default value'
}
$user = User::find($id);
$user->ranks = $ranks;
$user->save();
发布于 2018-06-04 21:56:15
$user = User::find($id);
if ($score > 40) {
$user->ranks = 'genius';
} elseif ($score > 30){
$user->ranks = 'smarty';
}
...
$user->save();
https://stackoverflow.com/questions/50670456
复制相似问题