File tree 2 files changed +18
-10
lines changed
tests/specs/issue_fix/52_bug_dependenton_allof_with_x_faker_false/mysql/models/base
2 files changed +18
-10
lines changed Original file line number Diff line number Diff line change @@ -269,6 +269,24 @@ public function isRefPointerToSchema():bool
269
269
270
270
public function isRefPointerToSelf ():bool
271
271
{
272
+ $ allOfInSchema = null ;
273
+ if (isset ($ this ->schema ->getSchema ()->properties [$ this ->name ]->allOf )) {
274
+ $ allOfInSchema = $ this ->schema ->getSchema ()->properties [$ this ->name ]->allOf ;
275
+ }
276
+
277
+ if ($ allOfInSchema ) { # fixes https://github.com/php-openapi/yii2-openapi/issues/68
278
+ $ refCounter = 0 ;
279
+ foreach ($ allOfInSchema as $ aAllOfElement ) {
280
+ if ($ aAllOfElement instanceof Reference) {
281
+ $ refCounter ++;
282
+ }
283
+ }
284
+ if ($ refCounter === 1 ) {
285
+ return $ this ->isRefPointerToSchema ()
286
+ && str_ends_with ($ this ->refPointer , '/ ' . $ this ->schema ->getName ()) !== false ;
287
+ }
288
+ }
289
+
272
290
return $ this ->isRefPointerToSchema ()
273
291
&& strpos ($ this ->refPointer , '/ ' . $ this ->schema ->getName () . '/ ' ) !== false
274
292
&& strpos ($ this ->refPointer , '/properties/ ' ) !== false ;
Original file line number Diff line number Diff line change @@ -78,14 +78,4 @@ public function getAnimal()
78
78
{
79
79
return $ this ->hasOne (\app \models \Animal::class, ['id ' => 'animal_id ' ]);
80
80
}
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
- }
91
81
}
You can’t perform that action at this time.
0 commit comments