花椒

花椒

这家伙有点懒,还没写个性签名!

  • 财富值51538
  • 威望值630
  • 总积分106688

个人信息

  • 一般你是需要自己维护一份订单列表的,然后你自己的订单编号跟平台的订单编号是关联的,如此你已经有了所有订单,如果想确认或更新某订单信息时,可通过平台的订单api去获取,完了更新维护下你本地的即可~

  • 回复了 的说说
    在用Yii2开发项目过程中会有各种个性需求,你们会去修改Yii2核心框架吗?
    ╃巡洋艦㊣说的对
  • 2018-09-06 已签到
    连续签到41天,获得了20个金钱
  • 2018-09-05 已签到
    连续签到40天,获得了20个金钱
  • 回复了 的说说
    什么时候再发补签卡?
    代人签到,一个月5块钱~
  • 回复了 的说说
    正式迈入26岁的第一天,难道要迈入老阿姨的行列了?
    真羡慕这么年轻的娃娃~
  • 回复了 的说说
    两个人能够走在一起,喜欢是假的,爱才是真的;两个人能够继续走下去,爱是假的,珍惜才是真的。
    就你皮……
  • 2018-09-04 已签到
    连续签到39天,获得了20个金钱
  • 我也做一回搬运工吧~
    中间关联表(Relations via a Junction Table)
    在数据库建模中,当两个关联表之间的对应关系是多对多时, 通常会引入一个连接表。例如,order 表 和 item 表可以通过名为 order_item 的连接表相关联。一个 order 将关联多个 order items, 而一个 order item 也会关联到多个 orders。

    当声明这种表关联后,您可以调用 via() 或 viaTable() 指明连接表。via() 和 viaTable() 之间的区别是 前者是根据现有的关联名称来指定连接表,而后者直接使用 连接表。例如,

    class Order extends ActiveRecord
    {
        public function getItems()
        {
            return $this->hasMany(Item::className(), ['id' => 'item_id'])
                ->viaTable('order_item', ['order_id' => 'id']);
        }
    }
    

    或者,

    class Order extends ActiveRecord
    {
        public function getOrderItems()
        {
            return $this->hasMany(OrderItem::className(), ['order_id' => 'id']);
        }
    
        public function getItems()
        {
            return $this->hasMany(Item::className(), ['id' => 'item_id'])
                ->via('orderItems');
        }
    }
    

    使用连接表声明的关联和正常声明的关联是等同的,例如,

    // SELECT * FROM `order` WHERE `id` = 100
    $order = Order::findOne(100);
    
    // SELECT * FROM `order_item` WHERE `order_id` = 100
    // SELECT * FROM `item` WHERE `item_id` IN (...)
    // 返回 Item 类组成的数组
    $items = $order->items;
    

    通过多个表来连接关联声明(Chaining relation definitions via multiple tables)
    通过使用 via() 方法,它还可以通过多个表来定义关联声明。 再考虑考虑上面的例子,我们有 Customer, Order, 和 Item 类。 我们可以添加一个关联关系到 Customer 类,这个关联可以列出了 Customer(客户) 的订单下放置的所有 Item(商品), 这个关联命名为 getPurchasedItems(),关联声明如下代码示例所示:

    class Customer extends ActiveRecord
    {
        // ...
    
        public function getPurchasedItems()
        {
            // 客户的商品,将 Item 中的 'id' 列与 OrderItem 中的 'item_id' 相匹配
            return $this->hasMany(Item::className(), ['id' => 'item_id'])
                        ->via('orderItems');
        }
    
        public function getOrderItems()
        {
            // 客户订单中的商品,将 `Order` 的 'id' 列和 OrderItem 的 'order_id' 列相匹配
            return $this->hasMany(OrderItem::className(), ['order_id' => 'id'])
                        ->via('orders');
        }
    
        public function getOrders()
        {
            // 见上述列子
            return $this->hasMany(Order::className(), ['customer_id' => 'id']);
        }
    }
    
  • yii2里有一个via或viaTable是专门做这个工作的哦~b就是中间表~

商界领袖 等级规则
106688/200000
资料完整度
60/100
用户活跃度
90/100

Ta的关注

11

Ta的粉丝

16

Ta的访客

161