Comments (7)
@lsmith77 we discussed the nameHint quite a bit a while ago. did we in the end see where in the annotations we could place it? it could be on the id - but if it was on the Document, we would not have to map an id field just to be able to specify the namehint. the autoname strategy is automatically chosen if the document only has a parent mapped.
from phpcr-odm.
we did not agree yet .. imho its a bit ugly to add this to the id mapping but i have no suggestion for anything else.
from phpcr-odm.
one thing i am not yet sure how we really should do it is that we halfway allow a document to have no id mapped. for the parent+autoname or parent+name strategies it would make sense to not require to map the id to a field. but in the autoname case we do not even want to map the name field. so the only place to put the name hint would be the document really.
or should we forbid a document not having the id (=path) mapped?
from phpcr-odm.
just to chip in - i think it should be possible to generate the "name" using an extension. i.e. enabling a method to provide a title which is passed through the slugifier service. Or maybe this would be best left to something at the application level.
from phpcr-odm.
other doctrines seem to have custom id generators. that would be the most elegant for your use case, i think. what is already possible is using the repository strategy, which delegates this task to the repository of this document class.
having a method on the document class itself is almost unneeded imho - if its the title that needs to be urlized you just as well can adjust the setTitle method to set the nodename if its still empty, or have a prePersist callback (not 100% sure if that happens before validating if we have everything for the id).
in this issue, its about providing a name hint to the phpcr auto name generator, as per the phpcr spec.
from phpcr-odm.
dropped the 1.2 milestone here
from phpcr-odm.
sure
from phpcr-odm.
Related Issues (20)
- Proxy awake on requesting node name
- Binding string with apostrophe using QueryBuilder->literal() crash query HOT 3
- PHP 7 compability issue HOT 4
- How to query @PHPCR\ReferenceMany on Document of same class HOT 2
- Master broken in rebuild HOT 8
- Having problem with 2 ODM managers HOT 1
- GenericDocument.php HOT 1
- Cannot remove nodes with autogenerated @Nodename HOT 1
- translator="attribute" in MetaData is NULL HOT 3
- QueryBuilder: Is it possible to order by id? HOT 3
- Results are not sorted with query builder HOT 4
- QueryBuilder throws InvalidQueryException if node path contains '-<num>e' HOT 1
- Children class Docs vs. Schema defintion HOT 1
- Inheritance for lifecycle callbacks HOT 11
- Array Equality Checking for reordering in UnitOfWork HOT 5
- Classes with names int, string, float, bool... are forbidden in PHP7 HOT 3
- [BUG?] QueryBuilder::setParameter does not exist, so it's not possible to add them during query building HOT 1
- about create indexes HOT 3
- ObjectManager::find requires class name HOT 1
- Symfony 7 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpcr-odm.