方法:名片表,whereHas用户收藏表,模糊查询
$query = Card::query()
->whereHas('holder', function (Builder|HasMany $query) {
$query->where('user_id', '=', user_id());
})
->select(Card::FIELD_PUBLIC)
->where(function (EloquentBuilder $query) use ($keyword) {
$query->orWhere('real_name', 'like', '%' . $keyword . '%')
->orWhere('company_name', 'like', '%' . $keyword . '%')
->orWhere('job_title', 'like', '%' . $keyword . '%')
->orWhere('company_profile', 'like', '%' . $keyword . '%');
});
$paginator = $query->paginate($limit);
$total = $paginator->total();
$items = $paginator->items();
方法:用户收藏表,whereHas名片表,模糊查询
$query = CardHolder::query()
->with([
'card' => function (Builder|HasOne $builder) use ($keyword) {
$builder->select(Card::FIELD_PUBLIC);
}
])
->where('user_id', '=', user_id())
->whereHas('card', function ($query) use ($keyword) {
$query->where(function (Builder|HasOne $builder) use ($keyword) {
$builder->orWhere('real_name', 'like', '%' . $keyword . '%')
->orWhere('company_name', 'like', '%' . $keyword . '%')
->orWhere('job_title', 'like', '%' . $keyword . '%')
->orWhere('company_profile', 'like', '%' . $keyword . '%');
});
});
$paginator = $query->paginate($limit);
$total = $paginator->total();
$items = $paginator->items();
版权属于:大卫科技Blog
本文链接:https://www.iyuu.cn/archives/524/
转载时须注明出处