搜尋

首頁  >  問答  >  主體

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的值傳回。

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

某草草某草草2815 天前780

全部回覆(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
  • 取消回覆