Jump to content

AtkManyToOneRelation: Difference between revisions

From NusaATK
No edit summary
 
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
#REDIRECT [[ATK_Relations#atkManyToOneRelation]]
{{relation}}
 
== atkManyToOneRelation ==
 
If you do not want to use the default primary keys (for example when the * side has a combined PK), you can override them by using the functions:
<syntaxhighlight lang="php">
setLocalKey("a_id");
setRemoteKey("b_id");
</syntaxhighlight>
 
'''Example'''
 
Projects all have one coordinator (node B), but one coordinator can have multiple projects (node A). So in the project class, there's a atkManyToOneRelation to a coordinator.
 
[[image:atkManyToOne.jpg|center]]
 
When you use the AF_LARGE flag it is possible to customise the text for the select link, [[See Renaming_'add'_and_'select'_links_in_relations]].
 
=== Example atkMetaNode ===
An Employee has one department
 
  public static function meta(atkMetaPolicy $policy) {
      $policy->hasOne('department');
  }
 
[[Category:Relations]]

Latest revision as of 09:30, 4 October 2010

atkManyToOneRelation screenshot

atkManyToOneRelation

If you do not want to use the default primary keys (for example when the * side has a combined PK), you can override them by using the functions:

 setLocalKey("a_id");
 setRemoteKey("b_id");

Example

Projects all have one coordinator (node B), but one coordinator can have multiple projects (node A). So in the project class, there's a atkManyToOneRelation to a coordinator.

When you use the AF_LARGE flag it is possible to customise the text for the select link, See Renaming_'add'_and_'select'_links_in_relations.

Example atkMetaNode

An Employee has one department

 public static function meta(atkMetaPolicy $policy) {
     $policy->hasOne('department');
 }