Recherche
Créer un comparatif
Comparateur de taille
S'inscrire
Se connecter
Déconnexion
Français
English
Español
Historique de
Eloquent
Mis à jour
21 déc. 2017 16:45:09
Date de création
18 oct. 2016 22:11:55
Romans Malinovskis
le 21 déc. 2017 16:45:09
Signaler
Transparent support for NoSQL
no Eloquent is built on Query Builder. Perhaps moloquent? Also - Through Caching backend, but not as ORM native persistence.
Romans Malinovskis
le 20 déc. 2017 17:43:38
Signaler
Transparent support for NoSQL
no Eloquent is built on Query Builder. Perhaps moloquent?
Romans Malinovskis
le 19 déc. 2017 23:25:45
Signaler
Admin extends User, adds criteria (is_admin=1)
no
Admin extends User, adds accessible fields
no
Romans Malinovskis
le 19 déc. 2017 21:41:37
Signaler
Bypass persistence mapping
yes ?? (e..g prevent date from being transformed into Carbon)
Romans Malinovskis
le 19 déc. 2017 21:22:55
Signaler
full support for OR conditions
- Partial
Romans Malinovskis
le 26 oct. 2016 15:42:23
Signaler
Support model-level criteria
- Global Scope (querying only)
Expression-based condition
yes through Query Builder
Romans Malinovskis
le 21 oct. 2016 18:57:20
Signaler
Use Domain logic in multi-record update
no
Model can define relation to other Model
yes Relations
Romans Malinovskis
le 19 oct. 2016 01:41:13
Signaler
Editeur
public
Visibilité
public
Romans Malinovskis
le 19 oct. 2016 01:40:50
Signaler
Multi-persistence join
no
UNION existing models
no
Multi-persistence UNION
no
Revert action (undo) and replay (redo)
no
Store incremental revisions
yes
UI extensions
no
Romans Malinovskis
le 19 oct. 2016 01:38:35
Signaler
Specify fields to load
no Fields load with SELECT *
Romans Malinovskis
le 19 oct. 2016 01:33:39
Signaler
UI Widget can fetch list of Model Fields
no Would have to manually specify fields.
UI Widget can get Field type, default value, caption, hint
no
field storing reference to another Model can map into DropDown
no Must manually specify object with lists() method.
Implementation Strategy
Eloquent is designed to work with MVC engines, where view is mandatory and would be defining how model properties fit into your HTML.
Get All Data (2x array)
yes
Associative Array (id=>value)
yes lists()
Single row
yes
Single Value
yes
Single Column
yes
Iterator
yes
Bypass persistence mapping
- ?? (e..g prevent date from being transformed into Carbon)
Romans Malinovskis
le 19 oct. 2016 01:06:17
Signaler
One-to-many traversal strategy
Returns array of objects that may either be pre-loaded with record data or only contain IDs (lazy-loaded).
Can be used in Any Framework
yes Through Capsule
Anti-patterns (purposely included)
Eloquent is a God Class; Global functions; DB Conection is global;
How schema is defined?
Model class properties
PDO Support
yes
Transparent support for NoSQL
no Eloquent is built on Query Builder.
How to invoke db-vendor-specific extensions?
yes Through Query Builder / RAW queries.
Field Name Mapping
- Through accessors/3rd party extension
Table Name Mapping
yes Same as model class name by default
Map Entity to SubQuery
no Must be physical table.
Map native types (DateTime)
yes Accessors and Mutators
User-defined types (e.g. "23 USD")
yes Accessors and Mutators
Map property to expression
no Must be physical table
Map field of related Entity ('currency' = currency_id->Model Currency.name)
- Relationship, but only single record.
Map field to sub-query on related entity (Client.balance = Client->orders->sum(total))
no
Soft-delete
yes Trait and Scope
Domain Model Criteria
- Scopes, but not in domain model.
Expression-based condition
no Scopes only affect loading.
Convert Model into Query Object
yes Model is a Query object. See: Model::where()
Raw expression
yes DB::raw()
Nested/Composite Queries/Expressions
no
Reference domain-model field in query
no No fields. Only properties.
field, where, order, limit
yes
Guarded / Fillable properties
yes Prevents "create($_GET)" from messing up important fields.
Admin extends User, adds criteria (is_admin=1)
no Both have to use "User" model.
Admin extends User, adds accessible fields
no Both have to use "Order" model.
Extend model, add Join (Disjoined SubTypes)
no
Entity to join multiple tables (adding new record populates both tables)
no
MongoDB support
no
Neo4j
no
MemCache
- Through Caching backend, but not as ORM native persistence.
Automated Cache
yes
Romans Malinovskis
le 19 oct. 2016 00:14:16
Signaler
Save only sends dirty fields
yes
Lazy/Eager-loading
yes
Eager-loading
yes
Romans Malinovskis
le 18 oct. 2016 22:11:55
Signaler
Mode
70
Nom
Eloquent
Visibilité
unlisted
Editeur
romans-malinovskis-1mz2ky79
Catégorie
products
Retourner à:
Eloquent