w-6ren">
gpt4 book ai didi

php - Laravel 5.8 : $bal->balance is getting null

转载 作者:行者123 更新时间:2023-12-04 07:22:09 24 4
gpt4 key购买 nike

我想获得 balance 的值来自名为 user_wallet 的数据透视表的列是这样的:
enter image description here
所以我在 Controller 上写了这个:

$bal = Wallet::with("users")->whereHas('users', function ($query) use ($wallet_id, $user_id) {
$query->where('wallet_id', $wallet_id);
$query->where('user_id', $user_id);
})->first();
但是当我这样做时 dd($bal->balance) , 我得到 null !
那是为什么?我如何获得 balance值基于 user_idwallet_id适本地?
这里也是 User之间的关系模型和 Wallet模型: User.php
public function wallets()
{
return $this->belongsToMany(Wallet::class, 'user_wallet', 'user_id', 'wallet_id')->withPivot('balance');
}
Wallet.php
public function users()
{
return $this->belongsToMany(User::class, 'user_wallet', 'wallet_id', 'user_id');
}
我真的很感激你们的任何想法或建议......

最佳答案

您的查询应该如下所示。因为您正在建立的关系是用户表而不是 user_wallet。

$bal = Wallet::with("users")
->whereHas('users', function ($query) use ($user_id) {
$query->where('id',$user_id);
})
->where('id', $wallet_id)
->first();
你也可以做一个简单的查询:
$bal = DB::table('user_wallet')
->where('wallet_id', $wallet_id)
->where('user_id', $user_id)
->first();

if (!empty($bal)) {
$balance = $bal->balance;
}

关于php - Laravel 5.8 : $bal->balance is getting null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68426297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com