'integer']; public static function list(array $param) { $model = self::query()->with("values"); if (isset($param['group']) && $param['group'] != '') { $model = $model->where('group', $param['group']); } if (isset($param['translation_key']) && $param['translation_key'] != '') { $model = $model->where('translation_key', $param['translation_key']); } return $model->orderByDesc("translation_id") ->select(["translation_id", "group", "translation_key", "remark", "create_time", "update_time"]) ->paginate((int)$param['limit']); } public function values() { return $this->hasMany(TranslationValue::class, 'translation_id', 'translation_id'); } public static function add($data): bool { $values = $data['values']; unset($data['values']); // 更新主表 $id = parent::add($data); if (!$id) { return false; } // 更新子表 TranslationValue::setValue($id, $values); return true; } public static function edit($data): bool { $values = $data['values']; unset($data['values']); // 更新主表 $res = parent::edit($data); if (!$res) { return false; } // 更新子表 TranslationValue::setValue($data['translation_id'], $values); return true; } }