{!! Auth::user()->myClass()->get()->lists('custom_name','id')->toJson() !!}
返回类似的东西
{"1":"Category G - George Costanza","2":"Category "ABc" - Dwayne Johnson"}
当尝试使用 JavaScript 解析它时,这上升为错误JSON.parse
SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 1 ...
toJson()
不应该返回转义引号作为:
{"1":"Category G - George Costanza","2":"Category '"ABc'" - Dwayne Johnson"}
我希望我在这里缺少一些基本的东西。
编辑:
自定义访问器:
public function getCustomNameAttribute(){
return $this->parentModel->name . ' - ' . $this->name;
}
myClass 是多对多关系,否则工作正常。据我所知。
而不是这个{!! Auth::user()->myClass()->get()->lists('custom_name','id')->toJson() !!}
即使用{!! !!}
或{{ }}
使用<?= ?>
它们将生成的 JSON 括在额外的双引号中,""
而不是单引号''
因此parseJSON
将无法解析它。
因此您可以使用这个
var javascript_var = $.parseJSON('<?= Auth::user()->myClass()->get()->pluck('custom_name','id')->toJson() ?>');
即使用PHP的简写回声功能<?= ?>