11 $this->name=\ucfirst(
$name);
12 $this->members=array ();
17 $this->members[$member->
getName()]=$member;
22 if (\array_key_exists($member, $this->members) ===
false) {
26 $this->members[$member]->addManyToOne(
$name, $className, $nullable);
30 if (isset($this->members[$memberName]) && $this->members[$memberName]->isPrimary() ===
false)
31 unset($this->members[$memberName]);
35 if (\array_key_exists($member, $this->members) ===
false) {
38 $this->members[$member]->addOneToMany($mappedBy, $className);
41 public function addManyToMany($member, $targetEntity, $inversedBy, $joinTable, $joinColumns=[], $inverseJoinColumns=[]) {
42 if (\array_key_exists($member, $this->members) ===
false) {
45 $this->members[$member]->addManyToMany($targetEntity, $inversedBy, $joinTable, $joinColumns, $inverseJoinColumns);
50 if ($this->
namespace !==
"" && $this->
namespace !== null) {
51 $result.=
"namespace " . $this->
namespace . ";\n
"; 53 $result.="class " . ucfirst($this->name) . "{
"; 54 $members=$this->members; 55 \array_walk($members, function ($item) { 58 $result.=implode("", $members); 59 foreach ( $members as $member ) { 60 $result.=$member->getGetter(); 61 $result.=$member->getSetter(); 63 $result.=$this->getToString(); 68 public function getName() { 70 if ($this->namespace !== "" && $this->namespace !== null) 71 $namespace=$this->namespace . '\\'; 72 return $namespace . $this->name; 75 public function getSimpleName() { 79 public function isAssociation() { 81 foreach ( $this->members as $member ) { 82 if ($member->isManyToOne() === true || $member->isPrimary() === true) { 86 return $count == \sizeof($this->members); 89 public function getPrimaryKey() { 90 foreach ( $this->members as $member ) { 91 if ($member->isPrimary() === true) { 98 public function getPkName(){ 99 $pk=$this->getPrimaryKey(); 101 return $pk->getName(); 105 public function getDefaultFk() { 106 return "id" . $this->name; 109 public function getManyToOneMembers() { 111 foreach ( $this->members as $member ) { 112 if ($member->isManyToOne() === true) { 119 private function getToStringField(){ 121 foreach ( $this->members as $member ) { 122 if ($member->getDbType()!=="mixed
" && $member->isNullable()!==true && !$member->isPrimary()) { 123 $result=$member->getName(); 129 public function getToString(){ 130 $field=$this->getToStringField(); 132 $corps='$this->' . $field; 134 elseif(($pkName=$this->getPkName())!==null){ 135 $corps='$this->' . $pkName; 137 $corps='"'.$this->name.'@"'.'.\spl_object_hash($this)'; 139 $result="\n\t
public function __toString(){\n
"; 140 $result.="\t\t
" . 'return '.$corps. ";\n
";
addOneToMany($member, $mappedBy, $className)
addMember(Member $member)
addManyToMany($member, $targetEntity, $inversedBy, $joinTable, $joinColumns=[], $inverseJoinColumns=[])
addManyToOne($member, $name, $className, $nullable=false)
removeMember($memberName)
__construct($name, $namespace="models")