亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Laravel Eloquent get() 查詢中插入未定義的變量

在 Laravel Eloquent get() 查詢中插入未定義的變量

PHP
qq_遁去的一_1 2022-10-28 16:32:34
我在 Laravel 中有兩個模型,我使用 Laravel 作為 API。Wallet = [name, wallet_category_id, user_id]Wallet_Category = [id, name]我在控制器中使用 get() 調用所有錢包,如何在輸出中添加錢包類別名稱?Wallet::where('user_id', $request->get('user_id'))->get()輸出將類似于:[    {        "id": 12,        "user_id": 2,        "name": "wallet1",        "wallet_category_id" : 1,        "created_at": "2020-03-09 22:40:29",        "updated_at": "2020-03-09 22:40:29"    },    {        "id": 13,        "user_id": 2,        "name": "wallet2",        "wallet_category_id" : 2,        "created_at": "2020-03-10 13:57:37",        "updated_at": "2020-03-10 13:57:37"    }]我想要這樣的輸出:[    {        "id": 12,        "user_id": 2,        "name": "wallet1",        "wallet_category_id" : 1,        "created_at": "2020-03-09 22:40:29",        "updated_at": "2020-03-09 22:40:29",        "category" : "cat_1"    },    {        "id": 13,        "user_id": 2,        "name": "wallet2",        "wallet_category_id" : 2,        "created_at": "2020-03-10 13:57:37",        "updated_at": "2020-03-10 13:57:37",        "category" : "cat_2"    }]可能嗎?之前謝謝。
查看完整描述

2 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

關系


在Wallet模型中建立關系


class Wallet extends Model

{


    public function walletcategory()

    {

        return $this->belongsTo('App\Wallet_Category','wallet_category_id','id');

    }

}

現在在控制器中


$wallets = Wallet::with('walletcategory')->where('user_id', $request->get('user_id'))->get();



foreach($wallets as $wallet){

    $wallet->walletcategory->name

}

加入


如果您想通過使用 join 來獲取它,請按照以下查詢。


Wallet::select('wallet.*','wallet_category.name')->leftjoin('wallet_category','wallet_category.id','wallet.wallet_category_id')->where('wallet.user_id', $request->get('user_id'))->get();



查看完整回答
反對 回復 2022-10-28
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

一種方法是在檢索錢包時使用Eagar 加載 錢包類別關系信息

在錢包模型中創建關系

//Wallet.php


...


use App\Wallet_Category;


...


public function walletCategory(){

    return $this->belongsTo(Wallet_Category, 'wallet_category_id', 'id')

}

現在從關系中檢索必要的列,如 id、name


$wallets = Wallet::with('walletCategory:id,name')->where('user_id', $request->get('user_id'))->get();

您將能夠檢索 walletCategory 名稱,例如:


foreach($wallets as $wallet){

    //retrieve wallet category name like 

    $wallet->walletCategory->name

}


查看完整回答
反對 回復 2022-10-28
  • 2 回答
  • 0 關注
  • 169 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號