在Cakephp中加入3个表

时间:2014-09-06 14:07:27

标签: cakephp

使用Cakephp 2.5.3 ......我有以下表格:

交易(属于方法和交付)

  • ID
  • delivery_id
  • method_id

方法(有很多交易)

  • id
  • 名称

交付(有很多交易)

  • ID
  • 日期

在我的投放视图中,我希望看到每次投放的方法名称。

foreach ($deliveries as $delivery) {

echo $method['name'];

}

(一个类似的悬而未决的问题是 here:

我(很高兴)对Cakephp很新,我应该采取什么方法来解决这个问题?谢谢!

====== UPDATE ==============

我最终将方法添加到交付控制器

$this->set('methods', $this->Method->find('all', array('recursive' => -1))); 

循环浏览我的(只读)视图中的方法:

  //filtered method array for
  $method['id'] == $delivery['Transaction']['0']['method_id']) 
   // got method name 
   $button_text = $method['name']; 

它工作正常,但任何人都可以告诉我这是否会给我带来问题吗?

1 个答案:

答案 0 :(得分:0)

use在Transaction模型中有许多关联作为 -

public $hasMny = array('Method', 'Delivery');

然后获取它们 -

$this->set(
   'methods', 
   $this->Method->find('all', array('contain' => array('Method', 'Delivery')))
);

您将获得所有相关结果。