英文:
sum data from multiple relation in multiple relation in laravel
问题
我有一个User模型,拥有多个categories,而category拥有多个posts,post拥有一个Product。
现在我想要计算所有**Auth::user()
**的product->price的总和。
我应该如何使用Laravel中的withSum
或withCount
函数来实现这个目标。
英文:
I have a User model, who hasMany categories and category hasMany posts and post hasOne Product
Now I want to sum all of the product->price of Auth::user()
how can i do that withSum
or withCount
function. in Laravel
答案1
得分: 2
以下是翻译好的内容:
由于您的问题没有提供任何细节,我将假设您已经正确设置了所有关系。
您可以使用以下方式使用关系来获取总和:
$sum = Product::query()
->whereHas('post', function($post) {
$post->whereHas('category', function($category) {
$category->whereHas('user', function($user) {
$user->where('id', auth()->id());
});
});
})
->sum('price');
请注意,这是PHP代码,用于计算总和,假设您已正确设置了模型之间的关系。
英文:
Since your question doesnt present any details, I will assume that you have all the relations well set up.
You can get the sum using the relations like this
$sum = Product::query()
->whereHas('post', function($post) {
$post->whereHas('category', function($category) {
$category->whereHas('user', function($user) {
$user->where('id',auth()->id());
});
});
})
->sum('price');
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论