1

以下是通过 laravel 的 eloquent 从数据库返回的当前数组。我想将一些东西推入数组,我可以知道怎么做吗?

返回中的数据

Company Object ( 
[attributes] => Array ( 
    [id] => 1 
    [company_name] => superman 
    [company_fullname] => Superman Ent. ) 
[original] => Array ( 
    [id] => 1 
    [company_name] => superman 
    [company_fullname] => Superman Ent. ) 
[relationships] => Array ( ) 
[exists] => 1 
[includes] => Array ( ) ) 

虽然我可以通过 foreach 数组调用它并通过 {{ $x->company_name }} 访问。我想用一些自定义信息来扩展数组,比如成员总数?

我以这种方式尝试过,但失败了。

$temp = array("count" => "1232");
array_push($companyInfo, $temp);

我懂了

array_push() 期望参数 1 是数组,给定对象

更新 companyInfo 数组由 laravel 返回,由于我的愚蠢和粗心(几天不眠之夜 +_+),我没有注意到所有内容都在 ['attributes'] 内!数据可以通过以下应用方法从答案中访问。

{{ $x['attributes']['company_name'] }}
{{ $x[0]['count'] }}
4

3 回答 3

3

$CompanyInfo 在您的情况下是一个对象。您需要指定一个命名参数来保存您的 $temp 数组信息:

$temp = array("count" => "1232");
$companyInfo->temp = $temp;

或将对象转换为数组:

$temp = array("count" => "1232");
$companyInfo = (array) $companyInfo;
array_push($companyInfo, $temp);
于 2013-05-20T06:10:26.613 回答
2

尝试使用 out 函数 array_push 执行此操作:

$temp = array("count" => "1232");
$temp[] = $companyInfo;

或者

$temp = array("count" => "1232");
$temp['companyInfo'] = $companyInfo;
$temp['companyInfo']->getSomeData();
于 2013-05-20T06:07:48.300 回答
0

你有 array_push 错误,因为你传递了一个对象而不是一个数组。

您几乎是对的,只需进行以下更改,

$companyInfo = (array)$companyInfo;

array_push($companyInfo, $temp);
于 2013-05-20T06:12:46.763 回答