File tree Expand file tree Collapse file tree 2 files changed +16
-10
lines changed
tests/specs/issue_fix/52_bug_dependenton_allof_with_x_faker_false/mysql/models/base Expand file tree Collapse file tree 2 files changed +16
-10
lines changed Original file line number Diff line number Diff line change @@ -269,6 +269,22 @@ public function isRefPointerToSchema():bool
269269
270270 public function isRefPointerToSelf ():bool
271271 {
272+ $ schema = Json::decode (Json::encode ($ this ->schema ->getSchema ()->getSerializableData ()));
273+
274+ if (isset ($ schema ['properties ' ][$ this ->name ]['allOf ' ])) { # fixes https://github.com/php-openapi/yii2-openapi/issues/68
275+ $ allOfs = $ schema ['properties ' ][$ this ->name ]['allOf ' ];
276+ $ refCounter = 0 ;
277+ foreach ($ allOfs as $ allOf ) {
278+ if (isset ($ allOf ['$ref ' ])) {
279+ $ refCounter ++;
280+ }
281+ }
282+ if ($ refCounter === 1 ) {
283+ return $ this ->isRefPointerToSchema ()
284+ && str_ends_with ($ this ->refPointer , '/ ' . $ this ->schema ->getName ()) !== false ;
285+ }
286+ }
287+
272288 return $ this ->isRefPointerToSchema ()
273289 && strpos ($ this ->refPointer , '/ ' . $ this ->schema ->getName () . '/ ' ) !== false
274290 && strpos ($ this ->refPointer , '/properties/ ' ) !== false ;
Original file line number Diff line number Diff line change @@ -78,14 +78,4 @@ public function getAnimal()
7878 {
7979 return $ this ->hasOne (\app \models \Animal::class, ['id ' => 'animal_id ' ]);
8080 }
81-
82- public function getInvoice ()
83- {
84- return $ this ->hasOne (\app \models \Invoice::class, ['reference_invoice_id ' => 'id ' ])->inverseOf ('reference_invoice ' );
85- }
86-
87- public function getInvoice2 ()
88- {
89- return $ this ->hasOne (\app \models \Invoice::class, ['reference_invoice_2_id ' => 'id ' ])->inverseOf ('reference_invoice_2 ' );
90- }
9181}
You can’t perform that action at this time.
0 commit comments