在cakephp中获取多个表值

时间:2013-12-24 08:14:06

标签: cakephp-2.3

我使用代码在cakephp中的两个表中获取数据。

  

var $ belongsTo = array(           'menuitem'=>阵列(               'className'=> “菜单项”,               'foreignKey'=> '菜单'           ));

菜单是两个表中的索引键,但它显示第一个表数据显示正确但在第二个表中显示空值。

**'Menu' => array(
            'id' => '1',
            'menuName' => 'awefawef',
            'restID' => '2',
            'menu' => '41066',
            'status' => '0'
        ),
        'Menuitem' => array(
            'id' => null,
            'menuID' => null,
            'sectionID' => null,
            'itemName' => null,
            'itemPrice' => null,
            'itemDescription' => null,
            'menu' => null,
            'status' => null
        )
    ),
    (int) 1 => array(
        'Menu' => array(
            'id' => '2',
            'menuName' => 'awefawef',
            'restID' => '2',
            'menu' => '17717',
            'status' => '0'
        ),
        'Menuitem' => array(
            'id' => null,
            'menuID' => null,
            'sectionID' => null,
            'itemName' => null,
            'itemPrice' => null,
            'itemDescription' => null,
            'menu' => null,
            'status' => null
        )**

请咨询

1 个答案:

答案 0 :(得分:0)

在cakePHP中,上述连接将不起作用,因为您不遵循名称约定。

所以在你的Menu模型中创建一个函数并写下面的代码:

$options = array(
        'conditions' => array(**YOUR CONDITIONS**),
        'joins' => array(
            array(
                'alias' => 'Menuitem',  
                'table' => ‘menuitems’,
                'type' => 'LEFT',
                'conditions' => array(
                    'Menuitem.menuID = Menu.id',
                ),
            )
        ),
        'fields' => array(“**Your Fields**”)
    );
$returnData = $this->find('all',$options);

由于