以下是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 是数组,给定对象
更新 公司信息数组是由laravel返回的,由于我的愚蠢和粗心(几天不眠之夜+_+)我没有注意到所有的东西都在['attributes']里面!可以通过以下答案中应用的方法来访问数据。
{{ $x['attributes']['company_name'] }}
{{ $x[0]['count'] }}
$CompanyInfo 在你的例子中是一个对象。您需要指定一个命名参数来保存 $temp 数组信息:
$temp = array("count" => "1232");
$companyInfo->temp = $temp;
或者将对象转换为数组:
$temp = array("count" => "1232");
$companyInfo = (array) $companyInfo;
array_push($companyInfo, $temp);
尝试使用 array_push 函数来实现:
$temp = array("count" => "1232");
$temp[] = $companyInfo;
或
$temp = array("count" => "1232");
$temp['companyInfo'] = $companyInfo;
$temp['companyInfo']->getSomeData();
您遇到了 array_push 错误,因为您传递了一个对象而不是数组。
你几乎是对的,只需进行以下更改,
$companyInfo = (array)$companyInfo;
array_push($companyInfo, $temp);