PHPackages                             milkyway/silverstripe-hasonecompositefield - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. milkyway/silverstripe-hasonecompositefield

Abandoned → [milkyway-multimedia/ss-mwm-formfields](/?search=milkyway-multimedia%2Fss-mwm-formfields)Silverstripe-module[Utility &amp; Helpers](/categories/utility)

milkyway/silverstripe-hasonecompositefield
==========================================

Save has\_one relationships directly from the parent record form

0.0.1(12y ago)7291[1 issues](https://github.com/mi3ll/silverstripe-hasonecompositefield/issues)[3 PRs](https://github.com/mi3ll/silverstripe-hasonecompositefield/pulls)BSD-3-ClausePHP

Since Dec 9Pushed 10y ago1 watchersCompare

[ Source](https://github.com/mi3ll/silverstripe-hasonecompositefield)[ Packagist](https://packagist.org/packages/milkyway/silverstripe-hasonecompositefield)[ RSS](/packages/milkyway-silverstripe-hasonecompositefield/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

HasOneCompositeField
====================

[](#hasonecompositefield)

This module allows you to add and edit a has\_one directly from within the parent record form, made to look as if it is part of the parent record form.

I haven't tested it with GridField yet (haven't needed to). Would like to hear if it works, but I'm 40/60 sure it won't work as is.

Requirements
------------

[](#requirements)

- SilverStripe 3.1

Author
------

[](#author)

- Mellisa Hankins \[\]

Install using composer
----------------------

[](#install-using-composer)

```
composer require milkyway/silverstripe-hasonecompositefield:*

```

Example Code
------------

[](#example-code)

```
$relField = HasOneCompositeField::create('ContentBlock', 'Content Block', $this->ContentBlock(), $fields = null);

```

If no fields are defined, the field will try to find a getHasOneCMSFields method on the passed in record, otherwise it will fall back to getCMSFields.

Note: This will save the record if it does not exist yet when the form is saved. At the moment, there is no way to delete the record, but there are alernative modules which offer that solution if you need it.

###  Health Score

25

—

LowBetter than 36% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4586d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/873db53f59bc2f8309c506d1b56313b0c7d8c7b3160eb1700ee0754d060f9767?d=identicon)[mi3ll](/maintainers/mi3ll)

---

Top Contributors

[![mellm0](https://avatars.githubusercontent.com/u/229937?v=4)](https://github.com/mellm0 "mellm0 (4 commits)")

---

Tags

silverstriperelationshas\_one

### Embed Badge

![Health badge](/badges/milkyway-silverstripe-hasonecompositefield/health.svg)

```
[![Health](https://phpackages.com/badges/milkyway-silverstripe-hasonecompositefield/health.svg)](https://phpackages.com/packages/milkyway-silverstripe-hasonecompositefield)
```

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1321.1M83](/packages/silverstripe-userforms)[symbiote/silverstripe-gridfieldextensions

A collection of useful grid field components

951.9M264](/packages/symbiote-silverstripe-gridfieldextensions)[silverstripe/tagfield

Tag field for SilverStripe

561.3M50](/packages/silverstripe-tagfield)[jonom/silverstripe-betternavigator

Front-end utility menu for Silverstripe websites featuring administration and development tools

59429.0k12](/packages/jonom-silverstripe-betternavigator)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46299.9k9](/packages/symbiote-silverstripe-advancedworkflow)[lekoala/silverstripe-cms-actions

Add actions to your models in SilverStripe

39317.0k29](/packages/lekoala-silverstripe-cms-actions)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
