belongsTo('ContentLibrary', 'libraryId', 'id'); } // 内容类型获取器 public function getTypeTextAttr($value, $data) { $types = [ self::TYPE_TEXT => '文本', self::TYPE_IMAGE => '图片', self::TYPE_VIDEO => '视频', self::TYPE_LINK => '链接' ]; return isset($types[$data['type']]) ? $types[$data['type']] : '未知'; } // 内容数据获取器 public function getContentDataAttr($value) { return json_decode($value, true); } // 内容数据修改器 public function setContentDataAttr($value) { return is_array($value) ? json_encode($value) : $value; } }