diff --git a/app/queue/translation/config/trans.php b/app/queue/translation/config/trans.php index 73b55b1..e2c7702 100644 --- a/app/queue/translation/config/trans.php +++ b/app/queue/translation/config/trans.php @@ -4,7 +4,7 @@ return [ // 定义所有需要多语言支持的实体 'entities' => [ 'ticket_categorie' => [ - 'translation_model' => \app\ticket\model\TicketCategorieTranslation::class, + 'translation_model' => \app\ticket\model\CategorieTranslation::class, 'foreign_key' => 'categorie_id', ], ], diff --git a/app/ticket/logic/CategorieLogic.php b/app/ticket/logic/CategorieLogic.php index 4f63ebe..c11bd64 100644 --- a/app/ticket/logic/CategorieLogic.php +++ b/app/ticket/logic/CategorieLogic.php @@ -2,7 +2,7 @@ namespace app\ticket\logic; -use app\ticket\model\TicketCategorie; +use app\ticket\model\Categorie; use support\Log; use support\exception\BusinessException; @@ -13,20 +13,20 @@ class CategorieLogic $where = []; $size = $params['size'] ?? 10; $current = $params['current'] ?? 1; - return TicketCategorie::with('translation')->where($where)->paginate($size, ['*'], 'page', $current); + return Categorie::with('translation')->where($where)->paginate($size, ['*'], 'page', $current); } public function getAll($params) { $where = []; $where[] = ['status', '=', 1]; - return TicketCategorie::with('translation')->where($where)->get(); + return Categorie::with('translation')->where($where)->get(); } public function add(array $data) { try { - return TicketCategorie::create($data); + return Categorie::create($data); } catch (\Throwable $e) { Log::error('分类创建失败', [ 'data' => $data, @@ -39,7 +39,7 @@ class CategorieLogic public function edit(array $data) { try { - $categorie = TicketCategorie::updateOrCreate(['id' => $data['id']], $data); + $categorie = Categorie::updateOrCreate(['id' => $data['id']], $data); return $categorie; } catch (\Throwable $e) { Log::error('分类编辑失败', [ @@ -53,7 +53,7 @@ class CategorieLogic public function delete(int $id) { try { - $categorie = TicketCategorie::where(['id'=>$id])->delete(); + $categorie = Categorie::where(['id'=>$id])->delete(); return $categorie; } catch (\Throwable $e) { Log::error('分类删除失败', [ diff --git a/app/ticket/logic/TicketLogic.php b/app/ticket/logic/TicketLogic.php index 8293654..ca5532f 100644 --- a/app/ticket/logic/TicketLogic.php +++ b/app/ticket/logic/TicketLogic.php @@ -25,7 +25,7 @@ class TicketLogic } $size = $params['size']; $current = $params['current']; - return Ticket::with('attachments')->where($where)->orderBy('id','desc')->paginate($size, ['*'], 'page', $current); + return Ticket::with('attachments')->with('categorie')->with('categorie.translation')->where($where)->orderBy('id','desc')->paginate($size, ['*'], 'page', $current); } public function add(array $data) { diff --git a/app/ticket/model/TicketCategorie.php b/app/ticket/model/Categorie.php similarity index 76% rename from app/ticket/model/TicketCategorie.php rename to app/ticket/model/Categorie.php index 6d0c675..70a92cf 100644 --- a/app/ticket/model/TicketCategorie.php +++ b/app/ticket/model/Categorie.php @@ -14,7 +14,7 @@ use support\Model; * @property string $updated_at 更新时间 * @property string $deleted_at 删除时间 */ -class TicketCategorie extends Model +class Categorie extends Model { use SoftDeletes; protected $connection = 'mysql'; @@ -37,7 +37,7 @@ class TicketCategorie extends Model */ public function translation() { - return $this->hasOne(TicketCategorieTranslation::class, 'categorie_id')->where('locale', locale()); + return $this->hasOne(CategorieTranslation::class, 'categorie_id')->where('locale', locale()); } /** @@ -45,6 +45,10 @@ class TicketCategorie extends Model */ public function translations() { - return $this->hasMany(TicketCategorieTranslation::class, 'categorie_id'); + return $this->hasMany(CategorieTranslation::class, 'categorie_id'); + } + + public function ticket(){ + return $this->hasOne(Ticket::class, 'categorie_id', 'id'); } } \ No newline at end of file diff --git a/app/ticket/model/TicketCategorieTranslation.php b/app/ticket/model/CategorieTranslation.php similarity index 95% rename from app/ticket/model/TicketCategorieTranslation.php rename to app/ticket/model/CategorieTranslation.php index 66a8f95..5d72369 100644 --- a/app/ticket/model/TicketCategorieTranslation.php +++ b/app/ticket/model/CategorieTranslation.php @@ -14,7 +14,7 @@ use support\Model; * @property string $created_at 创建时间 * @property string $updated_at 更新时间 */ -class TicketCategorieTranslation extends Model +class CategorieTranslation extends Model { protected $connection = 'mysql'; protected $table = 'ticket_categorie_translation'; diff --git a/app/ticket/model/Ticket.php b/app/ticket/model/Ticket.php index 0327a87..d10672c 100644 --- a/app/ticket/model/Ticket.php +++ b/app/ticket/model/Ticket.php @@ -70,4 +70,8 @@ class Ticket extends Model public function attachments(){ return $this->hasMany(Attachment::class, 'ticket_id', 'id'); } + + public function categorie(){ + return $this->belongsTo(Categorie::class, 'categorie_id', 'id'); + } } diff --git a/app/ticket/service/TicketService.php b/app/ticket/service/TicketService.php index 98ad7b1..28afe14 100644 --- a/app/ticket/service/TicketService.php +++ b/app/ticket/service/TicketService.php @@ -18,6 +18,8 @@ class TicketService { $res = (new TicketLogic())->list($params); foreach ($res as $k => &$v) { + $v['categorie']['name'] = isset($v['categorie']['translation']) ? $v['categorie']['translation']['name'] : ''; + unset($v['categorie']['translation']); foreach ($v['attachments'] as &$attachments) { $attachments['storage_path_full'] = (new \app\common\service\OssService())->generatePrivateUrl($attachments['storage_path']); }