Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 变异模型数据_Laravel_Laravel 5_Model - Fatal编程技术网

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;
    }
}