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的值傳回。
查了好久都沒有找到用法,求大神相告。
黄舟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);
}