爱程序网

orm获取关联表里的属性值

来源: 阅读:

ORM——关系对象模型

laravel中的Eloquent ORM用于和数据表互动,其中每个数据库表会和一个对应的「模型」互动,想要了解请查看官方文档或自行百度。获取关联表里的属性值代码如下:

    /**     * [getContactAttribute 获取卖家联系人]     */    public function getContactAttribute()    {        return $this->hasOne('AppHttpModelsSupplier', 'SupplierId', 'SupplierId')->first()->contact;    }

  2、获取订单商品信息

    public function getProductInfoAttribute()    {        $info = $this->items()->get()->map(function ($item) {            $json = $item->format(['title', 'quantity']);//$json为数组            return implode('x', array_values($json));        })->toArray();//toArray()将object转换为数组        if (count($info) > 1) {            $info = implode(';', $info);        }else {            $info = $info[0];        }        return $info;    }    /**     * [items 订单购买的商品]     * @return [type] [description]     */    public function items()    {        return $this->hasMany('AppHttpModelsOrderItem', 'OrderId', 'OrderId');    }

  其中getProductInfoAttribute()方法用于获取订单商品的信息,最后效果是:商品1名字x数量;商品2名字x数量。eg:奥力根电链锯x1;金戈铁马台钻x3。

 

相关文章列表:
关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助