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