Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
cakephp查找所有连接_Php_Mysql_Cakephp - Fatal编程技术网

cakephp查找所有连接

cakephp查找所有连接,php,mysql,cakephp,Php,Mysql,Cakephp,为什么上面的代码不选择采购和销售中的字段,而只返回订单中的字段。为了使所有数据都返回,需要添加哪些必要的内容。谢谢试试这个,我不确定是否需要“type”和“foreignKey”键,但我通常在使用“joins”键时包含它们。我还假设“pid”是正确的外键 $order = $this->Order->find('all', array( 'recursive' => 2, 'conditions' => array(

为什么上面的代码不选择采购和销售中的字段,而只返回订单中的字段。为了使所有数据都返回,需要添加哪些必要的内容。谢谢

试试这个,我不确定是否需要“type”和“foreignKey”键,但我通常在使用“joins”键时包含它们。我还假设“pid”是正确的外键

$order = $this->Order->find('all', array(
        'recursive' => 2,
        'conditions' => array(
            'Order.date' => $datefrom,
        ),
        'joins' => array(
            array(
                'table' => 'purchase',
                'alias' => 'Purchase',
                'conditions'=> array(
                    'Purchase.pid = Order.pid', 
                )
            ),
                array(
                'table' => 'sales',
                'alias' => 'Sales',
                'conditions'=> array(
                    'Purchase.pid = Sales.pid', 
                )
            ),
        ),
    ));

如果已经在模型中设置了关系,请将“recursive”键更改为-1。

尝试此操作,我不确定是否需要“type”键和“foreignKey”键,但我通常在使用“joins”键时包含它们。我还假设“pid”是正确的外键

$order = $this->Order->find('all', array(
        'recursive' => 2,
        'conditions' => array(
            'Order.date' => $datefrom,
        ),
        'joins' => array(
            array(
                'table' => 'purchase',
                'alias' => 'Purchase',
                'conditions'=> array(
                    'Purchase.pid = Order.pid', 
                )
            ),
                array(
                'table' => 'sales',
                'alias' => 'Sales',
                'conditions'=> array(
                    'Purchase.pid = Sales.pid', 
                )
            ),
        ),
    ));
如果您已经在模型中设置了关系,请将“recursive”键更改为-1。

只是一个想法

$order = $this->Order->find('all', array(
    'recursive' => -1,
    'conditions' => array(
        'Order.date' => $datefrom,
    ),
    'joins' => array(
        array(
            'table' => 'purchase',
            'alias' => 'Purchase',
            'type' => 'INNER',
            'foreignKey' => 'pid',
            'conditions'=> array(
                'Order.pid = Purchase.pid', 
            )
        ),
            array(
            'table' => 'sales',
            'alias' => 'Sales',
            'type' => 'INNER',
            'foreignKey' => 'pid',
            'conditions'=> array(
                'Sales.pid = Purchase.pid', 
            )
        ),
    ),
));
这不是打字错误,是吗?因为我认为,根据蛋糕惯例,餐桌通常的名称是“购买”。。。但我不知道你们的桌子当然……;)

只是个想法

$order = $this->Order->find('all', array(
    'recursive' => -1,
    'conditions' => array(
        'Order.date' => $datefrom,
    ),
    'joins' => array(
        array(
            'table' => 'purchase',
            'alias' => 'Purchase',
            'type' => 'INNER',
            'foreignKey' => 'pid',
            'conditions'=> array(
                'Order.pid = Purchase.pid', 
            )
        ),
            array(
            'table' => 'sales',
            'alias' => 'Sales',
            'type' => 'INNER',
            'foreignKey' => 'pid',
            'conditions'=> array(
                'Sales.pid = Purchase.pid', 
            )
        ),
    ),
));
这不是打字错误,是吗?因为我认为,根据蛋糕惯例,餐桌通常的名称是“购买”。。。但我不知道你们的桌子当然……;)

为了从其他表中获取字段,您应该指定所需的字段


为了从其他表中获取字段,您应该指定所需的字段。

首先,您需要在订单模型文件中创建关联

型号:

    Controller::loadModel('User');
    Controller::loadModel('Answer');
    Controller::loadModel('Influence');
    $users = $this->User->find('all', array('joins' => array(
        array(
            'table'      => 'answers',
            'alias'      => 'Answer',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array('Answer.user_id = User.id'),
        ),
        array(
            'table'      => 'influences',
            'alias'      => 'Influence',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array(
                'Influence.user_id=Answer.user_id',
            )
        )
    ),'fields' => array(
            'Answer.is_correct',
            'Answer.answer', 
            'Answer.date as answered_date',
            'Influence.signups',
            'Influence.clicks',
            'User.first_name',
            'User.last_name', 
            'User.email', 
            'User.phone', 
            'User.flybuys' )
    ));
 public $hasMany = array(

    'purchase' => array(

        'className' => 'purchase',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'

    ),

    'sales' => array(

        'className' => 'sales',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'
    ),
))

控制器:

    Controller::loadModel('User');
    Controller::loadModel('Answer');
    Controller::loadModel('Influence');
    $users = $this->User->find('all', array('joins' => array(
        array(
            'table'      => 'answers',
            'alias'      => 'Answer',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array('Answer.user_id = User.id'),
        ),
        array(
            'table'      => 'influences',
            'alias'      => 'Influence',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array(
                'Influence.user_id=Answer.user_id',
            )
        )
    ),'fields' => array(
            'Answer.is_correct',
            'Answer.answer', 
            'Answer.date as answered_date',
            'Influence.signups',
            'Influence.clicks',
            'User.first_name',
            'User.last_name', 
            'User.email', 
            'User.phone', 
            'User.flybuys' )
    ));
 public $hasMany = array(

    'purchase' => array(

        'className' => 'purchase',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'

    ),

    'sales' => array(

        'className' => 'sales',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'
    ),
现在您可以获得订单、采购和销售相关记录


享受…

首先,您需要在订单模型文件中创建关联

型号:

    Controller::loadModel('User');
    Controller::loadModel('Answer');
    Controller::loadModel('Influence');
    $users = $this->User->find('all', array('joins' => array(
        array(
            'table'      => 'answers',
            'alias'      => 'Answer',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array('Answer.user_id = User.id'),
        ),
        array(
            'table'      => 'influences',
            'alias'      => 'Influence',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array(
                'Influence.user_id=Answer.user_id',
            )
        )
    ),'fields' => array(
            'Answer.is_correct',
            'Answer.answer', 
            'Answer.date as answered_date',
            'Influence.signups',
            'Influence.clicks',
            'User.first_name',
            'User.last_name', 
            'User.email', 
            'User.phone', 
            'User.flybuys' )
    ));
 public $hasMany = array(

    'purchase' => array(

        'className' => 'purchase',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'

    ),

    'sales' => array(

        'className' => 'sales',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'
    ),
))

控制器:

    Controller::loadModel('User');
    Controller::loadModel('Answer');
    Controller::loadModel('Influence');
    $users = $this->User->find('all', array('joins' => array(
        array(
            'table'      => 'answers',
            'alias'      => 'Answer',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array('Answer.user_id = User.id'),
        ),
        array(
            'table'      => 'influences',
            'alias'      => 'Influence',
            'type'       => 'inner',
            'foreignKey' => false,
            'conditions' => array(
                'Influence.user_id=Answer.user_id',
            )
        )
    ),'fields' => array(
            'Answer.is_correct',
            'Answer.answer', 
            'Answer.date as answered_date',
            'Influence.signups',
            'Influence.clicks',
            'User.first_name',
            'User.last_name', 
            'User.email', 
            'User.phone', 
            'User.flybuys' )
    ));
 public $hasMany = array(

    'purchase' => array(

        'className' => 'purchase',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'

    ),

    'sales' => array(

        'className' => 'sales',

        'foreignKey' => 'pid',

        'dependent' => true,

        'counterQuery' => 'true'
    ),
现在您可以获得订单、采购和销售相关记录

享受