opencart 获取所有可下载文件

opencart get all downloadable files

我正在尝试获取并在产品页面中显示所有可下载文件。这是我的代码:

型号:

public function download_m($product_id) {
    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_download WHERE product_id = '" . (int)$product_id . "'");
    if ($query->num_rows) {
      return array(
        'product_id'       => $query->row['product_id'],        
        'download_id'      => $query->row['download_id']
      );
    } 
}

控制器:

$download_m = $this->model_catalog_product->download_m($product_id);

查看:

print_r($download_m)

数据库:

如您所见,有两个 product_id 95 的可下载项目,但它只是 return 3 而不是 3,4 .我做错了什么?

像这样对每个结果使用循环。

if ($query->num_rows) {
    foreach ($query->rows as $result) {
        return array(
          'product_id'       => $result['product_id'],        
          'download_id'      => $result['download_id']
        );
     }
} 

您可以在 Opencart 文件中随处查看此类代码。

试试这个代码来得到你想要的结果

$return_result=array();
if ($query->num_rows) {
  foreach ($query->rows as $result) {
    $return_result[]=array(
      'product_id'       => $result['product_id'],        
      'download_id'      => $result['download_id']
    );
 }
} 
return $return_result;