Laravel 变异模型数据
我想在我的模型中操纵数据,我该怎么做?我正在尝试这个,但它不起作用:Laravel 变异模型数据,laravel,laravel-5,model,Laravel,Laravel 5,Model,我想在我的模型中操纵数据,我该怎么做?我正在尝试这个,但它不起作用: class Character extends Model { //Get players by level public function scopeGetPlayersByLevel($query){ $output = $query->orderBy('level', 'desc')->get(); $output->classid = 100;
class Character extends Model
{
//Get players by level
public function scopeGetPlayersByLevel($query){
$output = $query->orderBy('level', 'desc')->get();
$output->classid = 100;
return $output;
}
//Get online status
public function account(){
$account = $this->belongsTo(Account::class, 'account_name', 'username');
$account->online = $account->online == 1 ? 'Online' : 'Offline';
return $account;
}
}
在帐户模型中:
在帐户模型中:
试试这个:
定义帐户模型的关系
b创建一个访问器,我称之为getAccountStrAttribute,这意味着您可以这样称呼它:$acc->account\u str
c温
试试这个:
定义帐户模型的关系
b创建一个访问器,我称之为getAccountStrAttribute,这意味着您可以这样称呼它:$acc->account\u str
c温
您期望得到什么以及返回什么?我期望$account->online变量返回online,但它仍然返回1try$account->online Status=$account->online在线':'离线';我很确定$account=$this->belongsToAccount::class,'account_name','username';不会返回您认为它的功能。尝试定义“属于”关系,我们称之为“帐户”。然后像Alexey指出的那样使用访问者:return$this->account->onlineOnline':“Offline”您期望什么以及返回什么?我期望$account->Online变量返回Online,但它仍然返回1try$account->Online Status=$account->Online在线':'离线';我很确定$account=$this->belongsToAccount::class,'account_name','username';不会返回您认为它的功能。尝试定义“属于”关系,我们称之为“帐户”。然后像Alexey指出的那样使用访问者:return$this->account->onlineOnline':“Offline”是否可以在视图中使用此选项?或者我必须用compose将其作为变量添加到控制器中吗?当您尝试从应用程序的任何部分访问此属性时,它只会将1转换为联机。啊,我明白了。我的错误是,我将该方法添加到角色模型中,该模型将加入帐户模型。当我把方法添加到Account中时,它确实起了作用。非常感谢。我对Laravel是个新手,但我已经爱上了它的框架,它工作得很好。在视图中使用它有可能吗?或者我必须用compose将其作为变量添加到控制器中吗?当您尝试从应用程序的任何部分访问此属性时,它只会将1转换为联机。啊,我明白了。我的错误是,我将该方法添加到角色模型中,该模型将加入帐户模型。当我把方法添加到Account中时,它确实起了作用。非常感谢。我对Laravel是新手,但我已经爱上了它的框架,它工作得很好
public function getOnlineAttribute($value)
{
return $value === 1 ? 'Online' : 'Offline';
}
class Character extends Model
{
// Relationship defined
public function account() {
return $query->belongsTo(Account::class, 'account_name', 'username');
}
//Get online status
public function getAccountStrAttribute(){
return $this->account->online ? 'Online' : 'Offline';
}
// I can't figure out what you want this function to return/do :/
//Get players by level
public function scopeGetPlayersByLevel($query){
$output = $query->orderBy('level', 'desc')->get();
$output->classid = 100;
return $output;
}
}