whereIn('oid', $value); } else { $query->where('oid', $value); } } } /** * UID搜索器 * @param Model $query * @param $value */ public function searchUidAttr($query, $value) { if ($value) { if (is_array($value)) { $query->whereIn('uid', $value); } else { $query->where('uid', $value); } } } /** * product_id搜索器 * @param Model $query * @param $value */ public function searchProductIdAttr($query, $value) { if ($value) { if (is_array($value)) { $query->whereIn('product_id', $value); } else { $query->where('product_id', $value); } } } /** * 优惠活动ID搜索器 * @param Model $query * @param $value */ public function searchPromotionsIdAttr($query, $value) { if ($value) { if (is_array($value)) { $query->where(function($q) use ($value) { foreach ($value as $key => $v) { $q->whereOr(function ($c) use ($v) { $c->whereFindInSet('promotions_id', $v); }); } }); } else { $query->whereFindInSet('promotions_id', $value); } } } /** * 购物车ID搜索器 * @param Model $query * @param $value * @param $data */ public function searchCartIdAttr($query, $value, $data) { if ($value) { if (is_array($value)) { $query->whereIn('cart_id', $value); } else { $query->where('cart_id', $value); } } } /** * 原购物车ID搜索器 * @param Model $query * @param $value * @param $data */ public function searchOldCartIdAttr($query, $value, $data) { if (is_array($value)) { $query->whereIn('old_cart_id', $value); } else { $query->where('old_cart_id', $value); } } /** * 拆分状态搜索器 * @param Model $query * @param $value * @param $data */ public function searchSplitStatusAttr($query, $value) { if (is_array($value)) { $query->whereIn('split_status', $value); } else { if (in_array($value, [0, 1, 2])) { $query->where('split_status', $value); } } } /** * 是否赠送搜索器 * @param Model $query * @param $value * @param $data */ public function searchIsGiftAttr($query, $value) { if ($value !== '') { $query->where('is_writeoff', $value); } } /** * 是否核销搜索器 * @param Model $query * @param $value * @param $data */ public function searchIsWriteoffAttr($query, $value) { if ($value !== '') { $query->where('is_writeoff', $value); } } }