Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework Zend-DB关系_Zend Framework_Zend Db_Zend Db Table - Fatal编程技术网

Zend framework Zend-DB关系

Zend framework Zend-DB关系,zend-framework,zend-db,zend-db-table,Zend Framework,Zend Db,Zend Db Table,我正在zend框架中创建一个应用程序。现在我陷入了Zend表关系中 我有两张桌子。我已经在其他表中设置了主键和相应的引用。 现在我想使用关系(而不是连接函数)连接这两个表。在zend有可能吗 表结构如下图所示 可策划 方案id主键 方案名称 方案说明 税率稳定 费率 方案标识*外键引用方案标识* 费率: 时间段: 方案和费率之间存在一对多关系 我在模型类中做了一些编码 Scheme.php Rates.php 如何获取每个方案及其相应的费率 提前谢谢。请, 见文件: 获取依赖行集 如果结果是行

我正在zend框架中创建一个应用程序。现在我陷入了Zend表关系中

我有两张桌子。我已经在其他表中设置了主键和相应的引用。 现在我想使用关系(而不是连接函数)连接这两个表。在zend有可能吗

表结构如下图所示

可策划

方案id主键

方案名称

方案说明

税率稳定

费率

方案标识*外键引用方案标识*

费率:

时间段:

方案和费率之间存在一对多关系

我在模型类中做了一些编码

Scheme.php

Rates.php

如何获取每个方案及其相应的费率

提前谢谢。

请, 见文件:

获取依赖行集

如果结果是行对象 对于父表上的查询,您可以 从依赖表中获取 引用当前行。使用 方法:

示例#4获取依赖行集 用神奇的方法

此示例显示如何查找依赖项 行集与中的行集等效 前面的例子。在这种情况下 应用程序使用魔术方法 调用而不是指定 表和规则作为字符串

获取父行

如果结果是行对象 对于依赖表上的查询,您可以 可以将父级中的行提取到 从属行引用的。使用 方法:

此示例显示如何查找父行 与上一节相同 例子。在这种情况下 应用程序使用魔术方法 调用而不是指定 表和规则作为字符串


为什么不使用“(不使用连接函数)”?您将能够在那里找到一些解决方案
class Scheme extends Zend_Db_Table_Abstract {


 protected $_name = 'schemetable';

 protected $_dependentTables = array('rates');
}
class Rates extends Zend_Db_Table_Abstract {


 protected $_name = 'ratetable';

 protected $_referenceMap = array(
   'Scheme' => array(
   'columns' => array('scheme_id'),  
   'refColumns' => array('scheme_id'), 
   'refTableClass' => 'Scheme',  
  ),
 );
}
$row->findDependentRowset($table);
  $accountsTable = new Accounts();
  $accountsRowset = $accountsTable->find(1234);
  $user1234 = $accountsRowset->current();

  // Use the default reference rule
  $bugsReportedBy = $user1234->findBugs();

  // Specify the reference rule
  $bugsAssignedTo = $user1234->findBugsByEngineer();
$row->findParentRow($table);
  $bugsTable = new Bugs();
  $bugsRowset = $bugsTable->fetchAll(array('bug_status = ?', 'NEW'));
  $bug1 = $bugsRowset->current();

  // Use the default reference rule
  $reporter = $bug1->findParentAccounts();

  // Specify the reference rule
  $engineer = $bug1->findParentAccountsByEngineer();