繁体   English   中英

在laravel中获取查询而不是按名称替换外键

[英]Get query instead of replace foreign key by name in laravel

获取查询而不是在laravel 中按名称替换外键。获取将menu_id 的记录替换为menu_name。Menu 表包含id 和menu_name。

 "cart_items": [
            {
                "id": 1,
                "cart_id": 1,
                "menu_id": 5,
                "quantity": "3",
                "amount": "150",
                "created_at": "2019-09-04 09:45:28",
                "updated_at": "2019-09-04 09:45:28"
            },
            {
                "id": 2,
                "cart_id": 1,
                "menu_id": 4,
                "quantity": "3",
                "amount": "150",
                "created_at": "2019-09-04 09:54:32",
                "updated_at": "2019-09-04 09:54:32"
            }
        ]

使用Laravel mutators为对象添加 menu_name,并将 menu_id 添加到 $hidden =['manu_id']; 在模型类中

我在获取查询时使用 with 方法。它的工作原理

$data['cart_items'] = CartItem::with('menu')->where('cart_id',$cart->id)->get();

在我的 CartItem 模型中,我使用了 eloquent orm 函数:

public function menu()
    {
        return $this->hasOne('App\Menu','id','menu_id')->select(['id','menu_name']);
    }

它返回输出:

"cart_items": [
        {
            "id": 1,
            "cart_id": 1,
            "menu_id": 5,
            "quantity": "3",
            "amount": "150",
            "created_at": "2019-09-04 09:45:28",
            "updated_at": "2019-09-04 09:45:28",
            "menu": {
                "id": 5,
                "menu_name": "PODI IDLI"
            }
        },
        {
            "id": 2,
            "cart_id": 1,
            "menu_id": 4,
            "quantity": "3",
            "amount": "150",
            "created_at": "2019-09-04 09:54:32",
            "updated_at": "2019-09-04 09:54:32",
            "menu": {
                "id": 4,
                "menu_name": "CORN PANEER MIX VEG SALAD WITH SAUSAGE"
            }
        }]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM