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 が配列であると想定し、オブジェクトを指定します

更新 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

関数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 に答える