PHP注意事项:数组到字符串的转换
我想将$result中的所有数据显示到我的表中,但出现了一些错误。 我正在尝试访问一个php数组。但它给我带来了数组到字符串的转换错误。 注意的是数组到字符串的转换 我的控制器:PHP注意事项:数组到字符串的转换,php,yii2,Php,Yii2,我想将$result中的所有数据显示到我的表中,但出现了一些错误。 我正在尝试访问一个php数组。但它给我带来了数组到字符串的转换错误。 注意的是数组到字符串的转换 我的控制器: public function actionStockitem() { $datepost = date('Y-m-d'); $d1 = isset($data['d1']) ? $data['d1'] : $datepost; $sql = " SELECT s1.name as nam
public function actionStockitem() {
$datepost = date('Y-m-d');
$d1 = isset($data['d1']) ? $data['d1'] : $datepost;
$sql = " SELECT s1.name as name
FROM
(SELECT i.item_id,i.name,i.unitcost,
(SUM(s1.qty)) as stock1,
((SUM(s1.qty))* i.unitcost) as cost1
FROM (SELECT item_id,name,unitcost FROM mitem ) as i
JOIN mstocklist s1 ON s1.item_id=i.item_id
JOIN mstock s2 ON s2.id=s1.stock_id
WHERE s2.receive_date <='$d1'
GROUP BY i.item_id
ORDER BY i.name ASC ) s1
LEFT OUTER JOIN
(SELECT i.item_id,i.name,i.unitcost,
(SUM(s1.qty)) as stock2,
((SUM(s1.qty))* i.unitcost) as cost2
FROM (SELECT item_id,name,unitcost FROM mitem ) as i
JOIN msublist s1 ON s1.item_id=i.item_id
JOIN msub s2 ON s2.id=s1.sub_id
WHERE s2.receive_date <='$d1'
GROUP BY i.item_id
ORDER BY i.name ASC ) s2 ON s2.item_id=s1.item_id
WHERE ((s1.stock1)-IFNULL(s2.stock2,0))<>0
ORDER BY s1.name,cost1 ASC ";
$command = Yii::$app->db->createCommand($sql);
$reader = $command->query();
$inames = $reader->readAll();
$temp = array();
$iname = $inames;
$temp['name'] = $iname;
$result[] = $temp;
return $this->render('stockitem', [
'inames' => $inames,
'sql' => $sql,
'result' => $result,
]);
}
这是一种观点:
<tbody>
<tr>
<td>
<?php
$i = 1;
foreach ($result as $data) {
?>
</td>
</tr>
<tr>
<td align="center"><?php echo $i; ?></td>
<td align="left" class="style3"><?php echo $data['name']; ?></td> //error in this line
<td align="center" class="style3"><?php echo ''; ?></td>
<td align="center" class="style3"><?php echo ''; ?></td>
<td align="center" class="style3"><?php echo ''; ?></td>
<td align="center" class="style3"><?php echo ''; ?></td>
<td align="center" class="style3"><?php echo ''; ?></td>
<td align="center" class="style3"><?php echo ''; ?></td>
</tr>
</tbody>
<?php
$i++;
}
?>
请给我一些建议不必要地将数据推送到阵列内部。readAll以单个数组的形式返回结果,因此只需将其传递给view即可。像这样
$inames = $reader->readAll();
// $temp = array();
//$iname = $inames;
// $temp['name'] = $iname;
// $result[] = $temp;
return $this->render('stockitem', [
'inames' => $inames,
'sql' => $sql,
'result' => $inames,
]);
尝试使用print_r在视图文件中打印数据变量,并查看它将打印@Marut phophaniat$data['name']的内容是数组&您不能使用echo命令打印数组。使用print_r$data['name']