hasMany(SysDictItem::class, 'dict_id', 'id'); } public function category() { return $this->belongsTo(SysDictCategory::class, 'category_id', 'id'); } /** * 一个字典有多个字典项 */ public function items() { return $this->hasMany(SysDictItem::class, 'dict_id', 'id'); } /** * 通过 dict_code 快速获取所有 item_value */ public function scopeGetItemValuesByCode($query, $dictCode) { return $query->where('dict_code', $dictCode) ->with('items') // 预加载关联项 ->first()?->items->pluck('item_value'); // 返回 item_value 数组 } /** * 通过 dict_code 获取完整字典项(含 label + value) */ public function scopeGetItemsByCode($query, $dictCode) { return $query->where('dict_code', $dictCode) ->with('items') ->first()?->items; } }