// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\store\model; use app\common\model\Express as ExpressModel; use app\store\model\order\Delivery; /** * 物流公司模型 * Class Goods * @package app\store\model */ class Express extends ExpressModel { /** * 添加新记录 * @param array $data * @return bool|false */ public function add(array $data): bool { $data['store_id'] = self::$storeId; return $this->save($data); } /** * 编辑记录 * @param array $data * @return bool */ public function edit(array $data): bool { return $this->save($data); } /** * 删除记录 * @return bool */ public function remove(): bool { // 判断当前物流公司是否已被订单使用 $Order = new Delivery; if ($orderCount = $Order->where(['express_id' => $this['express_id']])->count()) { $this->error = '当前物流公司已被' . $orderCount . '个订单使用,不允许删除'; return false; } return $this->delete(); } /** * 根据物流公司名称获取ID集 * @param array $expressNameArr * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public static function getExpressIds(array $expressNameArr): array { $list = (new static)->where('express_name', 'in', $expressNameArr)->select(); $data = []; foreach ($list as $item) { $data[$item['express_name']] = $item['express_id']; } return $data; } }