Should return an array of the name of the field(s) to fetch() pk_value from and their respective values.
The default behaviour is to return primary_key and the corresponding value(s) from pk_value.
However, if you have other unique fields in your schema, you might return a unique field other than the primary key. This allows for a more flexible URI scheme.
A good example is Users. A User record might have a numerical id (uid) and a username, both of which are unique. So if username 'foobar' has a primary_key (uid) of '1234', both these URIs could fetch the same record:
Again, the default behaviour is to return the primary_key field name(s) from config() (accessed via $self->primary_key) but you can override get_primary_key() in your subclass to provide more flexibility.
If your primary key is composed of multiple columns, your return value should include all those columns and their values as extracted from pk_value. Multiple values are assumed to be joined with
;;. See make_primary_key_string().
Using value of primary_string constructs a URI-ready string based on values in object. object is often the value of:
but could be any object that has accessor methods with the same names as the field(s) specified by primary_key.
Multiple values are joined with
;; and any
/ characters in the column values are URI-escaped.
If model_adapter() is set to a string of the adapter class name, this method will instantiate the model_adapter with its new() method, passing in model_name(), model_meta() and app_class.
Checks for presence of model_adapter() instance and calls method on either model() or model_adapter() as appropriate.
Returns can() value from model_adapter() or model() as appropriate.