首页  >  问答  >  正文

php - Lavavel的访问器怎么用

Laravel的访问器,在使用toJson的时候,怎么给一个参数。

class App extends Model
{
    ...
    
    public function getUrlAttribute($os)
    {
        switch ($os) {
            case 'android':
                return $this->attributes['url_android'];
            case 'ios':
                return $this->attributes['url_ios'];
            default:
                return '';
        }
    }
}
$app = new App;
$app->toJson();

我希望在调用toJson函数时,能够判断$os的具体类型,然后将想要的字段作为url的值返回。

查了好久都没有找到用法,求大神相告。

某草草某草草2665 天前707

全部回复(1)我来回复

  • 黄舟

    黄舟2017-06-05 11:11:29

        public function toJson($options = 0)
        {
            return json_encode($this->jsonSerialize(), $options);
        }
        public function jsonSerialize()
        {
            return $this->toArray();
        }

    你可以继承toJson方法进行修改

         public function toJson($options = 0)//自己添加参数
        {
            //这里修改this里的变量
            return json_encode($this->jsonSerialize(), $options);
        }

    回复
    0
  • 取消回复