例如,我有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子句
答案 0 :(得分:1)
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解决方案(db中有两个请求,一个用于查找用户,第二个用于更新用户)
$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();
答案 1 :(得分:1)
$user = User::find($id);
if ($score > 40) {
$user->ranks = 'genius';
} elseif ($score > 30){
$user->ranks = 'smarty';
}
...
$user->save();