Yii2使用循环打印列名称及其值

时间:2016-10-01 06:11:51

标签: mysql yii2

我尝试使用表格中每列的foreach循环打印列名称及其值的值。我想要这个代码

$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(),但我收到了错误。

2 个答案:

答案 0 :(得分:0)

您应该使用asArray来获取数组而不是对象。 此外,foreach代码应该嵌入{}并且echo应该在所有列

  $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 />';

  }

答案 1 :(得分:0)

你想在屏幕上打印吗?也许你可以试试这个。 如果要打印单行对象DepCustomer,可以使用print_r

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

如果要打印多行对象,可以使用foreach和print_r

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

我希望它可以帮到你