2017-06-21 9 views
0

私はPHPフレームワークLaravel 5で作業します。ここに私の質問があります: 私は自分のDBからいくつかの値を持つオブジェクトを取得します。 これをエコーすると、すべての正しいデータが表示されますが、配列にキャストするとすぐに空の配列になります。なぜですか?配列にキャストするときにPHPオブジェクトがデータを失う

$TonnageTotal = Collecte\Produit::pluck('tonnage'); //put everything I need into $TonnageTotal 
$arrTonnage = get_object_vars($TonnageTotal); //then cast it 

それは私がこれを行う場合は、同じん:私は取得したい

$arrTonnage=(array)$TonnageTotal; 

値は整数であり、)(array_sumであることを意味しています。

私には何が欠けていますか?

+1

get_object_varsはあなたに「アクセス不可能な非静的プロパティ」しか得られません_あなたは問題のすべてのプロパティについて当てはまりますか? – CBroe

+1

Laravelのモデルプロパティは単純にプロパティではなく、内部で魔法を使ってアクセス可能にするため、配列プロパティに直接キャストしません。Laravelが 'toArray()'と他の同様のメソッドを提供するのはなぜですか? –

+0

よろしくお願いします。助けてくれてありがとうございます。 – natifice

答えて

0

toArray()メソッドを使用して、コレクションから配列に変換できます。

$arrTonnage = $TonnageTotal->toArray(); 
+0

ありがとうございます – natifice

関連する問題