如何从cakephp2.x中的两个表(一对一)中获取数据

时间:2017-11-28 11:44:17

标签: cakephp join model cakephp-2.0

我有2个表第一个名字是库存而第二个名字是inventory_categories在库存表中有一些字段

id,name,inventory_category_id

inventory_categories表中的

 id,category_name

现在我想要从两个表中获取数据并希望在库存列表页面中显示 我还创建了库存模型

<?php 
  class Inventory extends AppModel{  

  var $name = 'Inventory'; 

  var $hasOne = array("InventoryCategory");

  }
?>

另一个模型是InventoryCategory

<?php 
 class InventoryCategory extends AppModel{  

  var $name = 'InventoryCategory'; 

  var $belongsto = array("Inventory");

 }
?>

请提前帮助我

1 个答案:

答案 0 :(得分:0)

如果您正确定义了密钥(主要/外部)关系,您将在库存控制器索引功能中获得以下代码。

$this->paginate = [
            'contain' => ['InventoryCategory'] 
        ];   

您的库存表格的代码如下

    $this->hasOne('InventoryCategory', [
        'foreignKey' => 'id'
    ]);

用于在索引页面中打印值

 foreach ($inventories as $inventory): 
        echo $inventory->inventory_category->id;
 endforeach