【发布时间】:2020-07-12 03:50:50
【问题描述】:
所以,用户有很多balance_transactions,最后插入的balance_transactions 记录将是用户帐户余额。我的问题,如何使 user model 具有属性 account_balance ,其值最后插入 total 在 balance_transactions 表中
我尝试在用户模型中使用类似的东西
public function balance {
return $this->hasMany(App\BalanceTransaction::class);
}
public function account_balance {
return $this->balance()->orderBy('id', 'DESC')->limit(1);
}
我得到这样的数据
$user = User::where('id', 1)->with('account_balance')->first();
return response()->json($user);
结果如下 json 所示:
{
"id": 1,
"username": "john0131",
"full_name": "john doe",
"email": john@test.com,
"account_balance": [
{
"id": 234,
"user_id": 1,
"total": 7850
"added_value": 50
"created_date": "2020-02-28 12:18:18"
}
]
}
但我想要的是,返回应该是这样的下面的json:
{
"id": 1,
"username": "john0131",
"full_name": "john doe",
"email": "john@test.com",
"account_balance": 7850
}
我的问题,如何以 laravel eloquent 正确的方式制作这样的东西?所以我只能使用像$user = user::find(1); 这样的简单代码来获取account_balance 数据。
提前致谢
【问题讨论】:
标签: laravel eloquent one-to-many laravel-6 eloquent-relationship