Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/View/Helper/DocBlockHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,12 @@ class DocBlockHelper extends Helper
/**
* @var bool Whether to add a blank line between different class annotations
*/
protected bool $annotationSpacing = true;
protected bool $annotationSpacing = false;

/**
* Writes the DocBlock header for a class which includes the property and method declarations. Annotations are
* sorted and grouped by type and value. Groups of annotations are separated by blank lines.
* sorted and grouped by type and value. If enabled via the `$annotationSpacing` setting of this helper, groups of
* annotations are separated by blank lines.
*
* @param string $className The class this comment block is for.
* @param string $classType The type of class (example, Entity)
Expand Down Expand Up @@ -80,7 +81,7 @@ public function associatedEntityTypeToHintType(string $type, Association $associ
$annotationType === Association::MANY_TO_MANY ||
$annotationType === Association::ONE_TO_MANY
) {
return $type . '[]';
return 'array<' . $type . '>';
}

return $type;
Expand Down
1 change: 0 additions & 1 deletion templates/bake/Model/entity.twig
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
{% set annotations = DocBlock.propertyHints(propertyHintMap) %}

{%- if associationHintMap %}
{%~ set annotations = annotations|merge(['']) %}
{%~ set annotations = annotations|merge(DocBlock.propertyHints(associationHintMap)) %}
{% endif %}

Expand Down
4 changes: 2 additions & 2 deletions templates/bake/Template/add.twig
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
* @var \{{ entityClass }} ${{ singularVar }}
{% if associations.BelongsTo is defined %}
{%~ for assocName, assocData in associations.BelongsTo %}
* @var \Cake\Collection\CollectionInterface|string[] ${{ assocData.variable }}
* @var \Cake\Collection\CollectionInterface|array<string> ${{ assocData.variable }}
{%~ endfor %}
{% endif %}
{% if associations.BelongsToMany is defined %}
{%~ for assocName, assocData in associations.BelongsToMany %}
* @var \Cake\Collection\CollectionInterface|string[] ${{ assocData.variable }}
* @var \Cake\Collection\CollectionInterface|array<string> ${{ assocData.variable }}
{%~ endfor %}
{% endif %}
*/
Expand Down
4 changes: 2 additions & 2 deletions templates/bake/Template/edit.twig
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
* @var \{{ entityClass }} ${{ singularVar }}
{% if associations.BelongsTo is defined %}
{%~ for assocName, assocData in associations.BelongsTo %}
* @var string[]|\Cake\Collection\CollectionInterface ${{ assocData.variable }}
* @var array<string>|\Cake\Collection\CollectionInterface ${{ assocData.variable }}
{%~ endfor %}
{% endif %}
{% if associations.BelongsToMany is defined %}
{%~ for assocName, assocData in associations.BelongsToMany %}
* @var string[]|\Cake\Collection\CollectionInterface ${{ assocData.variable }}
* @var array<string>|\Cake\Collection\CollectionInterface ${{ assocData.variable }}
{%~ endfor %}
{% endif %}
*/
Expand Down
2 changes: 1 addition & 1 deletion tests/TestCase/Command/PluginCommandTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ public function assertPluginContents($pluginName, bool $vendor = false): void
/**
* Get recursive files list for given path.
*
* @return string[]
* @return array<string>
*/
protected function getFiles(string $path): array
{
Expand Down
2 changes: 1 addition & 1 deletion tests/TestCase/Command/SimpleBakeCommandTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public function testBakePlugin(): void
/**
* Provider for subclasses.
*
* @return string[][]
* @return array<array<string>>
*/
public static function subclassProvider(): array
{
Expand Down
29 changes: 26 additions & 3 deletions tests/TestCase/View/Helper/DocBlockHelperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
use Cake\ORM\Table;
use Cake\TestSuite\TestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionProperty;

/**
* DocBlockHelper Test
Expand Down Expand Up @@ -72,7 +73,7 @@ protected function tearDown(): void
}

/**
* Tests the classDescription method including annotation spacing
* Tests the classDescription method
*
* @return void
*/
Expand All @@ -85,6 +86,28 @@ public function testClassDescription(): void
'@foo $bar baz',
'@see there',
];
$classDescription = $this->DocBlockHelper->classDescription($className, $classType, $lines);
$expected = "/**\n * Comments Model\n *\n * Line 1\n * @foo \$bar baz\n * @see there\n */";
$this::assertSame($expected, $classDescription);
}

/**
* Tests the classDescription method with annotation spacing enabled
*
* @return void
*/
public function testClassDescriptionAnnotationSpacing(): void
{
$className = 'Comments';
$classType = 'Model';
$lines = [
'Line 1',
'@foo $bar baz',
'@see there',
];
$reflection = new ReflectionProperty($this->DocBlockHelper, 'annotationSpacing');
$reflection->setValue($this->DocBlockHelper, true);

$classDescription = $this->DocBlockHelper->classDescription($className, $classType, $lines);
$expected = "/**\n * Comments Model\n *\n * Line 1\n * @foo \$bar baz\n *\n * @see there\n */";
$this::assertSame($expected, $classDescription);
Expand All @@ -103,14 +126,14 @@ public function testAssociatedEntityTypeToHintType(): void
$type = 'Foo';
$association = new BelongsToMany('Foo', $sourceTable);
$assocEntityType = $this->DocBlockHelper->associatedEntityTypeToHintType($type, $association);
$expected = 'Foo[]';
$expected = 'array<Foo>';
$this->assertSame($expected, $assocEntityType);

// Test with ONE_TO_MANY
$type = 'Bar';
$association = new HasMany('Bar', $sourceTable);
$assocEntityType = $this->DocBlockHelper->associatedEntityTypeToHintType($type, $association);
$expected = 'Bar[]';
$expected = 'array<Bar>';
$this->assertSame($expected, $assocEntityType);

// Test with ONE_TO_ONE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
*
* @property \Bake\Test\App\Model\Table\CategoriesTable&\Cake\ORM\Association\BelongsTo $Categories
* @property \Bake\Test\App\Model\Table\ProductsTable&\Cake\ORM\Association\BelongsTo $Products
*
* @method \Bake\Test\App\Model\Entity\CategoriesProduct newEmptyEntity()
* @method \Bake\Test\App\Model\Entity\CategoriesProduct newEntity(array $data, array $options = [])
* @method array<\Bake\Test\App\Model\Entity\CategoriesProduct> newEntities(array $data, array $options = [])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
* Categories Model
*
* @property \Bake\Test\App\Model\Table\ProductsTable&\Cake\ORM\Association\BelongsToMany $Products
*
* @method \Bake\Test\App\Model\Entity\Category newEmptyEntity()
* @method \Bake\Test\App\Model\Entity\Category newEntity(array $data, array $options = [])
* @method array<\Bake\Test\App\Model\Entity\Category> newEntities(array $data, array $options = [])
Expand All @@ -26,7 +25,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\Category>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Category> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\Category>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Category>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\Category>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Category> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class CategoriesTable extends Table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
* Categories Model
*
* @property \Bake\Test\App\Model\Table\ProductsTable&\Cake\ORM\Association\BelongsToMany $Products
*
* @method \Bake\Test\App\Model\Entity\Category newEmptyEntity()
* @method \Bake\Test\App\Model\Entity\Category newEntity(array $data, array $options = [])
* @method array<\Bake\Test\App\Model\Entity\Category> newEntities(array $data, array $options = [])
Expand All @@ -26,7 +25,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\Category>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Category> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\Category>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Category>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\Category>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Category> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class CategoriesTable extends Table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\OldProduct>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\OldProduct> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\OldProduct>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\OldProduct>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\OldProduct>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\OldProduct> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class OldProductsTable extends Table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\OldProduct>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\OldProduct> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\OldProduct>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\OldProduct>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\OldProduct>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\OldProduct> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class OldProductsTable extends Table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
* ProductVersions Model
*
* @property \Bake\Test\App\Model\Table\ProductsTable&\Cake\ORM\Association\BelongsTo $Products
*
* @method \Bake\Test\App\Model\Entity\ProductVersion newEmptyEntity()
* @method \Bake\Test\App\Model\Entity\ProductVersion newEntity(array $data, array $options = [])
* @method array<\Bake\Test\App\Model\Entity\ProductVersion> newEntities(array $data, array $options = [])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
* ProductVersions Model
*
* @property \Bake\Test\App\Model\Table\ProductsTable&\Cake\ORM\Association\BelongsTo $Products
*
* @method \Bake\Test\App\Model\Entity\ProductVersion newEmptyEntity()
* @method \Bake\Test\App\Model\Entity\ProductVersion newEntity(array $data, array $options = [])
* @method array<\Bake\Test\App\Model\Entity\ProductVersion> newEntities(array $data, array $options = [])
Expand Down
7 changes: 3 additions & 4 deletions tests/comparisons/Model/testBakeEntityCustomHidden.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $password
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\Comment[] $comments
* @property \Bake\Test\App\Model\Entity\Relation[] $relations
* @property \Bake\Test\App\Model\Entity\TodoItem[] $todo_items
* @property array<\Bake\Test\App\Model\Entity\Comment> $comments
* @property array<\Bake\Test\App\Model\Entity\Relation> $relations
* @property array<\Bake\Test\App\Model\Entity\TodoItem> $todo_items
*/
class User extends Entity
{
Expand Down
5 changes: 2 additions & 3 deletions tests/comparisons/Model/testBakeEntityEnum.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $title
* @property string|null $body
* @property \Bake\Test\App\Model\Enum\ArticleStatus|null $published
*
* @property \Bake\Test\App\Model\Entity\Author $author
* @property \Bake\Test\App\Model\Entity\Tag[] $tags
* @property \Bake\Test\App\Model\Entity\ArticlesTag[] $articles_tags
* @property array<\Bake\Test\App\Model\Entity\Tag> $tags
* @property array<\Bake\Test\App\Model\Entity\ArticlesTag> $articles_tags
*/
class Article extends Entity
{
Expand Down
5 changes: 2 additions & 3 deletions tests/comparisons/Model/testBakeEntityFieldsDefaults.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@
* @property int $todo_task_count
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\User $user
* @property \Bake\Test\App\Model\Entity\TodoReminder $todo_reminder
* @property \Bake\Test\App\Model\Entity\TodoTask[] $todo_tasks
* @property \Bake\Test\App\Model\Entity\TodoLabel[] $todo_labels
* @property array<\Bake\Test\App\Model\Entity\TodoTask> $todo_tasks
* @property array<\Bake\Test\App\Model\Entity\TodoLabel> $todo_labels
*/
class TodoItem extends Entity
{
Expand Down
5 changes: 2 additions & 3 deletions tests/comparisons/Model/testBakeEntityFieldsWhiteList.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@
* @property int $todo_task_count
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\User $user
* @property \Bake\Test\App\Model\Entity\TodoReminder $todo_reminder
* @property \Bake\Test\App\Model\Entity\TodoTask[] $todo_tasks
* @property \Bake\Test\App\Model\Entity\TodoLabel[] $todo_labels
* @property array<\Bake\Test\App\Model\Entity\TodoTask> $todo_tasks
* @property array<\Bake\Test\App\Model\Entity\TodoLabel> $todo_labels
*/
class TodoItem extends Entity
{
Expand Down
7 changes: 3 additions & 4 deletions tests/comparisons/Model/testBakeEntityFullContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $password
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\Comment[] $comments
* @property \Bake\Test\App\Model\Entity\Relation[] $relations
* @property \Bake\Test\App\Model\Entity\TodoItem[] $todo_items
* @property array<\Bake\Test\App\Model\Entity\Comment> $comments
* @property array<\Bake\Test\App\Model\Entity\Relation> $relations
* @property array<\Bake\Test\App\Model\Entity\TodoItem> $todo_items
*/
class User extends Entity
{
Expand Down
7 changes: 3 additions & 4 deletions tests/comparisons/Model/testBakeEntityHidden.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $password
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\Comment[] $comments
* @property \Bake\Test\App\Model\Entity\Relation[] $relations
* @property \Bake\Test\App\Model\Entity\TodoItem[] $todo_items
* @property array<\Bake\Test\App\Model\Entity\Comment> $comments
* @property array<\Bake\Test\App\Model\Entity\Relation> $relations
* @property array<\Bake\Test\App\Model\Entity\TodoItem> $todo_items
*/
class User extends Entity
{
Expand Down
5 changes: 2 additions & 3 deletions tests/comparisons/Model/testBakeEntityNoFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@
* @property int $todo_task_count
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\User $user
* @property \Bake\Test\App\Model\Entity\TodoReminder $todo_reminder
* @property \Bake\Test\App\Model\Entity\TodoTask[] $todo_tasks
* @property \Bake\Test\App\Model\Entity\TodoLabel[] $todo_labels
* @property array<\Bake\Test\App\Model\Entity\TodoTask> $todo_tasks
* @property array<\Bake\Test\App\Model\Entity\TodoLabel> $todo_labels
*/
class TodoItem extends Entity
{
Expand Down
7 changes: 3 additions & 4 deletions tests/comparisons/Model/testBakeEntitySimple.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $password
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\Comment[] $comments
* @property \Bake\Test\App\Model\Entity\Relation[] $relations
* @property \Bake\Test\App\Model\Entity\TodoItem[] $todo_items
* @property array<\Bake\Test\App\Model\Entity\Comment> $comments
* @property array<\Bake\Test\App\Model\Entity\Relation> $relations
* @property array<\Bake\Test\App\Model\Entity\TodoItem> $todo_items
*/
class User extends Entity
{
Expand Down
7 changes: 3 additions & 4 deletions tests/comparisons/Model/testBakeEntitySimpleUnchanged.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $password
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \Bake\Test\App\Model\Entity\Comment[] $comments
* @property \Bake\Test\App\Model\Entity\Relation[] $relations
* @property \Bake\Test\App\Model\Entity\TodoItem[] $todo_items
* @property array<\Bake\Test\App\Model\Entity\Comment> $comments
* @property array<\Bake\Test\App\Model\Entity\Relation> $relations
* @property array<\Bake\Test\App\Model\Entity\TodoItem> $todo_items
*/
class User extends Entity
{
Expand Down
7 changes: 3 additions & 4 deletions tests/comparisons/Model/testBakeEntityWithPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
* @property string|null $password
* @property \Cake\I18n\DateTime|null $created
* @property \Cake\I18n\DateTime|null $updated
*
* @property \BakeTest\Model\Entity\Comment[] $comments
* @property \BakeTest\Model\Entity\Relation[] $relations
* @property \BakeTest\Model\Entity\TodoItem[] $todo_items
* @property array<\BakeTest\Model\Entity\Comment> $comments
* @property array<\BakeTest\Model\Entity\Relation> $relations
* @property array<\BakeTest\Model\Entity\TodoItem> $todo_items
*/
class User extends Entity
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@
* @property array $array_type
* @property array $json_type
* @property string $unknown_type
*
* @property \Bake\Test\App\Model\Entity\User $user
* @property \Bake\Test\App\Model\Entity\TodoReminder $todo_reminder
* @property \BakeTest\Model\Entity\TodoTask[] $todo_tasks
* @property \Bake\Test\App\Model\Entity\TodoLabel[] $todo_labels
* @property array<\BakeTest\Model\Entity\TodoTask> $todo_tasks
* @property array<\Bake\Test\App\Model\Entity\TodoLabel> $todo_labels
*/
class TodoItem extends Entity
{
Expand Down
2 changes: 0 additions & 2 deletions tests/comparisons/Model/testBakeTableConfig.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
* @property \Bake\Test\App\Model\Table\TodoRemindersTable&\Cake\ORM\Association\HasOne $TodoReminders
* @property \Bake\Test\App\Model\Table\TodoTasksTable&\Cake\ORM\Association\HasMany $TodoTasks
* @property \Bake\Test\App\Model\Table\TodoLabelsTable&\Cake\ORM\Association\BelongsToMany $TodoLabels
*
* @method \Bake\Test\App\Model\Entity\Item newEmptyEntity()
* @method \Bake\Test\App\Model\Entity\Item newEntity(array $data, array $options = [])
* @method array<\Bake\Test\App\Model\Entity\Item> newEntities(array $data, array $options = [])
Expand All @@ -29,7 +28,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\Item>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Item> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\Item>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Item>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\Item>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\Item> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class ItemsTable extends Table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\TestBakeArticle>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\TestBakeArticle> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\TestBakeArticle>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\TestBakeArticle>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\TestBakeArticle>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\TestBakeArticle> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class TestBakeArticlesTable extends Table
Expand Down
1 change: 0 additions & 1 deletion tests/comparisons/Model/testBakeTableValidation.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
* @method iterable<\Bake\Test\App\Model\Entity\TestBakeArticle>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\TestBakeArticle> saveManyOrFail(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\TestBakeArticle>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\TestBakeArticle>|false deleteMany(iterable $entities, array $options = [])
* @method iterable<\Bake\Test\App\Model\Entity\TestBakeArticle>|\Cake\Datasource\ResultSetInterface<\Bake\Test\App\Model\Entity\TestBakeArticle> deleteManyOrFail(iterable $entities, array $options = [])
*
* @mixin \Cake\ORM\Behavior\TimestampBehavior
*/
class TestBakeArticlesTable extends Table
Expand Down
Loading
Loading