我已经为一个PHP(CodeIgniter 4)Web应用程序建模并测试了一个数据库。我在我的(products)Model中创建了一个从DB中检索数据的函数,并在控制器中调用了该函数。
getBasicInfo(int $id): array
{
$db = $this->connectToDB();
$query = $db->query('SELECT productName, productDescription, productType FROM konnektrix_db.products WHERE productID = $id LIMIT 1');
$row = $query->getRow();
return
[ $row->productName,
$row->productDescription,
$row->productType
];
}
}
class Home extends BaseController
{
public function index()
{
$ProductModel = new Products();
$data = $ProductModel->getBasicInfo(1);
//$data['name'] = 'Yuna';
return view('testing_view',$data);
}
}
我想要的是能够从我的视图(testing_view)访问该数据($data),但当我这样做时,它无法识别变量。(请参阅图片了解错误)
<!DOCTYPE html>
<html lang="en">
<head>
<title>Data testing view</title>
</head>
<body>
<h2>General product overview page</h2>
<h1><? $data; ?></h1>
</body>
你知道我做错了什么吗?
我已经看了多个来源关于如何将数据从控制器传递到视图在CI 4中,这是他们所做的,除非我错过了什么?
View error
2条答案
按热度按时间ifsvaxew1#
根据文档,您应该使用escape函数调用该变量。
请尝试:
从getBasicInfo函数向数组添加字符串标识符。
然后你会看到这样的东西:
型
envsm3lx2#
当你把一个数组传递给一个视图的时候,这个数组被“分解”了,所以
$data['name']
变成了$name
。所以只需要搜索以数组键为名称的变量。