where("student_id", $value); } } /** * 搜索器:订单管理关联合同 * @param $value * @param $data */ public function searchContractIdAttr($query, $value, $data) { if ($value) { $query->where("contract_id", "like", "%".$value."%"); } } /** * 搜索器:订单管理订单金额 * @param $value * @param $data */ public function searchAmountAttr($query, $value, $data) { $start = empty($value[0]) ? 0 : $value[0]; $end = empty($value[1]) ? 0 : $value[1]; if ($start > 0 && $end > 0) { $query->where([["amount", "between", [$start, $end]]]); } else if ($start > 0 && $end == 0) { $query->where([["amount", ">=", $start]]); } else if ($start == 0 && $end > 0) { $query->where([["amount", "<=", $end]]); } } /** * 搜索器:订单管理订单类型 * @param $value * @param $data */ public function searchOrderTypeAttr($query, $value, $data) { if ($value) { $query->where("order_type", $value); } } /** * 搜索器:订单管理支付类型 * @param $value * @param $data */ public function searchPayTypeAttr($query, $value, $data) { if ($value) { $query->where("pay_type", $value); } } /** * 搜索器:订单管理支付状态 * @param $value * @param $data */ public function searchPaymentStatusAttr($query, $value, $data) { if ($value) { $query->where("payment_status", $value); } } /** * 搜索器:订单管理支付时间 * @param $value * @param $data */ public function searchPaymentTimeAttr($query, $value, $data) { $start = empty($value[0]) ? 0 : strtotime($value[0]); $end = empty($value[1]) ? 0 : strtotime($value[1]); if ($start > 0 && $end > 0) { $query->where([["payment_time", "between", [$start, $end]]]); } else if ($start > 0 && $end == 0) { $query->where([["payment_time", ">=", $start]]); } else if ($start == 0 && $end > 0) { $query->where([["payment_time", "<=", $end]]); } } /** * 搜索器:订单管理添加时间 * @param $value * @param $data */ public function searchCreateTimeAttr($query, $value, $data) { $start = empty($value[0]) ? 0 : strtotime($value[0]); $end = empty($value[1]) ? 0 : strtotime($value[1]); if ($start > 0 && $end > 0) { $query->where([["create_time", "between", [$start, $end]]]); } else if ($start > 0 && $end == 0) { $query->where([["create_time", ">=", $start]]); } else if ($start == 0 && $end > 0) { $query->where([["create_time", "<=", $end]]); } } public function students(){ return $this->hasOne(Students::class, 'id', 'student_id')->joinType('left')->withField('name,id')->bind(['student_id_name'=>'name']); } public function contracts(){ return $this->hasOne(Contracts::class, 'id', 'contract_id')->joinType('left')->withField('title,id')->bind(['contract_id_name'=>'title']); } }