0%

laravel orm代码片段

  • with、when、where多条件闭包、orwhereHas闭包

keyword 模糊匹配 relation、price、discount三张表的名称字段,任意匹配则返回。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$keyword = request('keyword', '');

// keyword 模糊匹配 relation、price、discount三张表的名称字段,任意匹配则返回
$collection = RelationsPriceDiscountLists::where('user_id', $user->id)
->orderBy('id', 'desc')
->with('price', 'discount')
// when-变量存在时执行
->when($keyword, function ($query) use ($keyword) {
// 多条件where闭包
$query->where(function ($query) use ($keyword) {
$query->where('name', 'like', "%{$keyword}%")
->orwhereHas('price', function ($query) use ($keyword) {
$query->where('name', 'like', "%{$keyword}%");
})
->orwhereHas('discount', function ($query) use ($keyword) {
$query->where('name', 'like', "%{$keyword}%");
});
});
});

$collection = $collection->latest()->paginate();

return new PublicCollection($collection);

欢迎关注我的其它发布渠道