2013-05-20 176 views
1

以下是当前数组通过laravel雄辩返回的数据库。我想推动一些东西进入阵列,我可以知道如何?阵列推另一个阵列

在返回

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回报,因为我愚蠢的&不小心(几天不眠之夜+ _ +)我没有注意到一切都在里面['属性']!数据可以通过答案中的应用方法后面的访问。

{{ $x['attributes']['company_name'] }} 
{{ $x[0]['count'] }} 
+1

读取错误的两倍。 – Rikesh

回答

2

$公司信息是一个对象。您需要可以指定一个命名的参数,以节省您的$临时阵列信息:

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

或铸对象到一个数组:

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

Thx。我注意到成功泵入companyInfo。但是,我可以知道如何从视图访问?对于companyInfo中的所有数据,[0] =>数组([count] => 1232)相同[0]。 – 1myb

+0

如果您执行$ companyInfo-> count ='1234';那么这些数据将被保存在$ companyInfo对象中,并且您可以以$ companyInfo-> count的方式访问它,只要该对象可供您使用。 –

+0

但计数不在companyInfo(模型对象)中,尝试并返回“从空值创建默认对象”。如果你喜欢你做的?实际上它可能是保存但只是不能访问 – 1myb

2

尝试用输出功能array_push做到这一点:

$temp = array("count" => "1232"); 
$temp[] = $companyInfo; 
你的情况

$temp = array("count" => "1232"); 
$temp['companyInfo'] = $companyInfo; 
$temp['companyInfo']->getSomeData(); 
+0

我可以知道,如果我以相反的方式添加,我如何访问company_name? – 1myb

+0

他需要将$ temp保存到$ companyInfo中,这是一个对象。不是相反的。 –

0

你已经得到array_push错误,因为你传递的对象,而不是数组。

你几乎就只是做如下更改,

$companyInfo = (array)$companyInfo; 

array_push($companyInfo, $temp); 
+0

这是行不通的。你正试图通过引用传递一个函数结果。推之前施展。 –