我尝试使用表格中每列的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(),但我收到了错误。
答案 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/>';
}
我希望它可以帮到你