2016-10-01 2 views
0

私は列名を印刷しようとしています、そして、テーブルの各列のforeachループを使ってテーブルの値です。私はこのコードYii2ループを使用して列名とその値を出力します

$contentAfter = DepCustomer::findOne($id); 
echo $contentAfter->customer_id; 
echo $contentAfter->account_no; 
echo $contentAfter->name; 
echo $contentAfter->address; 
echo $contentAfter->gender; 

は、このように

$contentAfter = DepCustomer::findOne($id); 
foreach($contentAfter as $name => $value){ 
    echo $name .': '. $value; 
} 

を実行したい私はまた)(asArrayを使用して試してみましたが、私はエラーを取得しています。

+0

2番目のコードブロックは正しいです。どのようなエラーが表示されますか? – SilverFire

+0

どのエラーが表示されますか? – Mohan

+0

ありがとうございます。私は私の問題を解決しました。以前私は「不明な方法を呼び出す」ようになっていました。多分私は何かを見落とすかもしれない再び、私は上記のように私のコードを書いた。今それは働いている。もう一度感謝します。 – gojiraki

答えて

0

オブジェクトではなく配列を取得するには、asArrayを使用する必要があります。 はさらに、foreachのコードは{}でencolsedしなければならないとエコーが

$contentAfter = DepCustomer::find->where(['id'=> $id])->asArray()->one(); 
    foreach($contentAfter as $name => $value) { 

    echo $name .':' . $value->customer_id . '<br />'; 
    echo $name .':' . $value->account_no . '<br />'; 
    echo $name .':' . $value->name . '<br />'; 
    echo $name .':' . $value->address . '<br />'; 
    echo $name .':' . $value->gender . '<br />'; 

    } 
+0

答えをありがとうが、それは私が達成しようとしているものではありません。私の質問は多少あいまいだと思います。そのために残念。私は、各列を印刷する代わりにループを使用して、列名とその値を印刷したいと考えています。 – gojiraki

+0

@gojiraki。私はあなたが探しているものが答えの希望を更新している – scaisEdge

0

はあなたが画面で印刷したいんすべての列にすべきですか?多分あなたはこれを試すことができます。 オブジェクトDepCustomerの単一の行を印刷したい場合は、あなたが使用することができますprint_r

$contentAfter = DepCustomer::findOne($id); 
echo '<pre>'; 
print_r($contentAfter); 
echo '</pre>'; 

YOUTは、あなたがforeachのを使用して、私はそれが助けを願ってい

$contentAfter = DepCustomer::find()->where()->all(); 
foreach($contentAfter as $v){ 
    echo '<pre>'; 
    print_r($v); 
    echo '</pre>'; 
    echo '<br/>'; 
} 

をしますprint_rできるオブジェクトの複数の行を印刷したい場合は

あなた

+0

あなたの答えをありがとう。私は私の問題を解決しました。先ほど私は「知られていない方法を呼び出す」ことになった。多分私は何かを見落とすかもしれない再び、私は上記のように私のコードを書いた。今それは働いている – gojiraki

関連する問題