laravel Eloquent 关系与计数关系

时间:2021-02-20 12:10:47

标签: laravel

我有两张桌子

.add-btn:hover{
  cursor: pointer;
}

当我像这样运行 Eloquent 查询时

1. users (id,name, address)
1,abc,address1
2,xyz,address2

2. books (id,user_id,book,price)
1,1,book1,10
2,2,book1,10
3,1,book2,15
4,1,book3,20

它给我计算书籍下每个用户的结果

关系处理得当。

<块引用>
User::with('books')
    ->withCount('books')
->wherein('id',[1,2])->get();

我如何在 Eloquent 中做到这一点

谢谢

1 个答案:

答案 0 :(得分:1)

你可以这样试试

User::with('books')
    ->withCount([
       'books as total_book',
       'books as total_price' => function($query) {
          $query->select(DB::raw('sum(price) as total_price'))
        }
    ])
    ->wherein('id',[1,2])
    ->get();