我有一个名为 Vote_actions 的数据库和模型,如下所示:
- id
- group_id
- user_id
- 动作类型
- 匿名(布尔值)
用户可以要求匿名(这将使布尔值变为 true)。如果是这种情况,我想将返回模型中的 group_id 和 user_id 更改为 -1。
laravel 有没有办法让我做到这一点?
您倾向于具有特殊条件的边缘情况。
使用访问器:
class VoteActions extends \Eloquent {
public $casts = [
'anonymous' => 'boolean'
];
...
/**
* Accessors: Group ID
* @return int
*/
public function getGroupIdAttribute()
{
if((bool)$this->anonymous === true) {
return -1;
} else {
return $this->group_id;
}
}
/**
* Accessors: User ID
* @return int
*/
public function getUserIdAttribute()
{
if((bool)$this->anonymous === true) {
return -1;
} else {
return $this->user_id;
}
}
}
官方文档:https://laravel.com/docs/5.1/eloquent-mutators#accessors-and-mutators
但是,我建议您在必要时将数据库中的值直接设置为 -1,以保持应用程序的完整性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)