Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Join 条令-通过一个查询从两个表中获取数据_Join_Doctrine - Fatal编程技术网

Join 条令-通过一个查询从两个表中获取数据

Join 条令-通过一个查询从两个表中获取数据,join,doctrine,Join,Doctrine,有人能帮我提出一个基本的条令问题吗?我刚刚在mysql中将一个大订单表拆分为单独的“客户”和“订单”表。我现在在Codeigniter/Doctrine应用程序中设置了两个表: <?php class Orders extends Doctrine_Record { public function setTableDefinition() { $this->hasColumn('order_date', 'string', 10); $this->hasCo

有人能帮我提出一个基本的条令问题吗?我刚刚在mysql中将一个大订单表拆分为单独的“客户”和“订单”表。我现在在Codeigniter/Doctrine应用程序中设置了两个表:

<?php

class Orders extends Doctrine_Record {

public function setTableDefinition() {
    $this->hasColumn('order_date', 'string', 10);
    $this->hasColumn('item_code', 'string', 10);
    $this->hasColumn('invoice_number', 'string', 11);
    $this->hasColumn('item_name', 'string', 30);
    $this->hasColumn('item_type', 'string', 15);
    $this->hasColumn('item_size', 'integer', 1);
    $this->hasColumn('item_price', 'integer', 3);
    $this->hasColumn('item_quantity', 'integer', 3);
    $this->hasColumn('item_total_price', 'integer', 5);
    $this->hasColumn('item_b_order', 'integer', 1);
    $this->hasColumn('order_total_items', 'integer', 5);
    $this->hasColumn('order_total', 'integer', 6);
    $this->hasColumn('cust_id', 'integer', 4);
    $this->hasColumn('hallmark', 'integer', 1);
}
public function setUp() {
    // setup the join with the Customers table, linking cust_id in this table with id in Customers table
    $this->hasOne('Customers', array(
        'local' => 'cust_id',
        'foreign' => 'id'
    ));
    $this->setTableName('orders');
}   
}
现在我基本上只想说给我“订单”表中的所有内容,其中“订单”表中的客户id与“客户”表中的“id”字段匹配,并根据“订单”表中的“发票号”字段分组

我搜索了文档,但找不到任何有用的东西。非常感谢您的帮助

非常感谢,


马特

我不确定我是否完全理解你的问题。但是,如果我这样做了,请尝试以下方法:

$q = Doctrine_Query::create()
    ->select('o.*, c.*')
    ->from('Orders o')
    ->innerJoin('o.Customers c')
    ->groupBy('o.invoice_number');
(注意,我将
u
切换到
o

$q = Doctrine_Query::create()
    ->select('u.*')
    ->from('Orders u')
    ->groupBy('u.invoice_number');

            $orders = $q->fetchArray();
            $vars['orders'] = $orders;
$q = Doctrine_Query::create()
    ->select('o.*, c.*')
    ->from('Orders o')
    ->innerJoin('o.Customers c')
    ->groupBy('o.invoice_number');