Php 如何定制laravel资源中的内爆函数结构

Php 如何定制laravel资源中的内爆函数结构,php,laravel,Php,Laravel,在我的资源中,我有一个如下的对象: return [ 'something' => $this->somerelationship->implode('name',',') ]; 现在它为我返回这个结果: { something [ "items,items,items" ] } 但我希望我的内爆在javascript中返回一个可用的数组,而不仅仅是将其作为数组的索引,而不是将每个项放在数组的一个插槽中,如下所示: { som

在我的资源中,我有一个如下的对象:

return [
    'something' => $this->somerelationship->implode('name',',')
];
现在它为我返回这个结果:

{
    something [
        "items,items,items"
    ]
}
但我希望我的内爆在javascript中返回一个可用的数组,而不仅仅是将其作为数组的索引,而不是将每个项放在数组的一个插槽中,如下所示:

{
    something 
    [
        {items},{items},{items}"
    ]
}
我现在怎样才能做到这一点呢?

你可以回来

json_encode($this->somerelationship->pluck('name')->toArray());
然后在您的javascripts中,只需JSON.parse()就可以了,或者将它放在blade中的一个变量中:

 var items = {!! json_decode($variable) !!}
你可以回来

json_encode($this->somerelationship->pluck('name')->toArray());
然后在您的javascripts中,只需JSON.parse()就可以了,或者将它放在blade中的一个变量中:

 var items = {!! json_decode($variable) !!}
请尝试执行以下操作,而不要使用
->introde()
(将数组转换为字符串):

'something' => $this->somerelantionship->pluck('name')->all(),
方法
pluck()
返回一个数组,其中包含来自特定键的所有值,这似乎是您想要的。

请尝试执行以下操作,而不是
->infrade()
(将数组转换为字符串):

'something' => $this->somerelantionship->pluck('name')->all(),

方法
pluck()
返回一个数组,其中包含来自特定键的所有值,这似乎是您想要的。

返回json\u encode(),然后用javascript解析json。而不是
内爆()
,尝试执行:
$this->somerelationship->pull('name')->all()
。这将返回一个包含所有名称的数组。@MagnusEriksson让它回答,所以我接受它。返回json_encode()结果,然后用javascript解析json。不要使用
内爆()
,而是尝试执行:
$this->somerelationship->pull('name')->all()
。这应该返回一个包含所有名称的数组。@MagnusEriksson让它回答,所以我接受它。如果他们对该结果执行
json\u encode()
,则当他们执行
json\u encode()时,它将被双重编码
在他们放入的数组中。@MagnusEriksson你是对的,但是如果我们得到一个我们的响应数组,在发送之前,json\u将其编码以发送给blade以获得一个整洁的响应,我们需要先对其进行json\u解码。实际上我不确定你在这里做什么。首先,出于某种原因,您需要分别使用json_encode()子元素。然后你假设他们想把它传递给一个刀片模板(我们不知道他们是否想这样做。这可能是一个ajax响应),但你也在做
json\u decode()
,将json字符串转换成PHP对象,你试图将其存储在一个JS变量中?这根本不起作用。如果他们对结果执行
json\u encode()
,当他们对放入的数组执行
json\u encode()
时,会对其进行双重编码。@MagnusEriksson你是对的,但如果我们得到一个响应数组,在发送之前,将其进行json\u编码以发送给blade,以获得整洁的响应,我们需要先把它解码。我不知道你在这里做什么。首先,出于某种原因,您需要分别使用json_encode()子元素。然后你假设他们想把它传递给一个刀片模板(我们不知道他们是否想这样做。这可能是一个ajax响应),但你也在做
json\u decode()
,将json字符串转换成PHP对象,你试图将其存储在一个JS变量中?那根本行不通。