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
120 changes: 100 additions & 20 deletions phpstan.baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ parameters:
count: 1
path: src/Database/Connection.php

-
message: "#^Return type \\(Bavix\\\\LaravelClickHouse\\\\Database\\\\Query\\\\Builder\\) of method Bavix\\\\LaravelClickHouse\\\\Database\\\\Connection\\:\\:query\\(\\) should be compatible with return type \\(Tinderbox\\\\ClickhouseBuilder\\\\Integrations\\\\Laravel\\\\Builder\\) of method Tinderbox\\\\ClickhouseBuilder\\\\Integrations\\\\Laravel\\\\Connection\\:\\:query\\(\\)$#"
count: 1
path: src/Database/Connection.php

-
message: "#^Access to protected property Bavix\\\\LaravelClickHouse\\\\Database\\\\Query\\\\Builder\\:\\:\\$wheres\\.$#"
count: 5
Expand Down Expand Up @@ -100,6 +105,16 @@ parameters:
count: 1
path: src/Database/Eloquent/Builder.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Builder\\:\\:create\\(\\) has no return type specified\\.$#"
count: 1
path: src/Database/Eloquent/Builder.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Builder\\:\\:create\\(\\) has parameter \\$attributes with no type specified\\.$#"
count: 1
path: src/Database/Eloquent/Builder.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Builder\\:\\:createNestedWhere\\(\\) has parameter \\$whereSlice with no value type specified in iterable type array\\.$#"
count: 1
Expand Down Expand Up @@ -455,6 +470,26 @@ parameters:
count: 1
path: src/Database/Eloquent/Collection.php

-
message: "#^Call to an undefined method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Builder\\:\\:withTrashed\\(\\)\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Call to an undefined method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\|Illuminate\\\\Database\\\\Eloquent\\\\Relations\\\\Relation\\:\\:first\\(\\)\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Call to an undefined method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\|Illuminate\\\\Database\\\\Eloquent\\\\Relations\\\\Relation\\:\\:where\\(\\)\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Call to an undefined method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\|Illuminate\\\\Database\\\\Eloquent\\\\Relations\\\\Relation\\:\\:withTrashed\\(\\)\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Call to an undefined static method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:insert\\(\\)\\.$#"
count: 1
Expand Down Expand Up @@ -560,6 +595,11 @@ parameters:
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:childRouteBindingRelationshipName\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:clearBootedModels\\(\\) has no return type specified\\.$#"
count: 1
Expand Down Expand Up @@ -610,11 +650,6 @@ parameters:
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:getConnection\\(\\) should return Illuminate\\\\Database\\\\Connection but returns Illuminate\\\\Database\\\\ConnectionInterface\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:getConnectionName\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
Expand Down Expand Up @@ -670,6 +705,16 @@ parameters:
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:getRouteKey\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:getRouteKeyName\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:getTable\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
Expand Down Expand Up @@ -785,11 +830,56 @@ parameters:
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveChildRouteBinding\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveChildRouteBindingQuery\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveChildRouteBindingQuery\\(\\) return type with generic class Illuminate\\\\Database\\\\Eloquent\\\\Relations\\\\Relation does not specify its types\\: TRelatedModel$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveConnection\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveRouteBinding\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveRouteBinding\\(\\) should return Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\|null but returns object\\|null\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveRouteBindingQuery\\(\\) has parameter \\$query with generic class Illuminate\\\\Database\\\\Eloquent\\\\Relations\\\\Relation but does not specify its types\\: TRelatedModel$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveRouteBindingQuery\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveSoftDeletableChildRouteBinding\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:resolveSoftDeletableRouteBinding\\(\\) is not final, but since the containing class is abstract, it should be\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Method Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:save\\(\\) has parameter \\$options with no value type specified in iterable type array\\.$#"
count: 1
Expand Down Expand Up @@ -875,6 +965,11 @@ parameters:
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Property Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:\\$casts \\(array\\) on left side of \\?\\? is not nullable\\.$#"
count: 1
path: src/Database/Eloquent/Model.php

-
message: "#^Property Bavix\\\\LaravelClickHouse\\\\Database\\\\Eloquent\\\\Model\\:\\:\\$dateFormat \\(string\\) on left side of \\?\\? is not nullable\\.$#"
count: 1
Expand Down Expand Up @@ -965,21 +1060,6 @@ parameters:
count: 1
path: src/Database/Query/Builder.php

-
message: "#^Property Bavix\\\\LaravelClickHouse\\\\Database\\\\Query\\\\Builder\\:\\:\\$connection has no type specified\\.$#"
count: 1
path: src/Database/Query/Builder.php

-
message: "#^Unable to resolve the template type TKey in call to function collect$#"
count: 1
path: src/Database/Query/Builder.php

-
message: "#^Unable to resolve the template type TValue in call to function collect$#"
count: 1
path: src/Database/Query/Builder.php

-
message: "#^Unsafe usage of new static\\(\\)\\.$#"
count: 1
Expand Down
5 changes: 1 addition & 4 deletions src/Database/Connection.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@

class Connection extends \Tinderbox\ClickhouseBuilder\Integrations\Laravel\Connection
{
/**
* @return Builder|\Tinderbox\ClickhouseBuilder\Integrations\Laravel\Builder
*/
public function query()
public function query(): Builder
{
return new Builder($this, new Grammar());
}
Expand Down
7 changes: 7 additions & 0 deletions src/Database/Eloquent/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -652,6 +652,13 @@ public function newModelInstance($attributes = [])
->setConnection($this->query->getConnection()->getName());
}

public function create($attributes = [])
{
return tap($this->newModelInstance($attributes), static function ($instance) {
$instance->save();
});
}

public function getQuery(): QueryBuilder
{
return $this->query;
Expand Down
6 changes: 2 additions & 4 deletions src/Database/Eloquent/Concerns/HasAttributes.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,12 @@ trait HasAttributes

public function getDates(): array
{
return property_exists($this, 'dates') && is_array($this->dates)
? $this->dates
: [];
return $this->dates ?? [];
}

public function getCasts(): array
{
return $this->casts;
return $this->casts ?? [];
}

protected function getDateFormat(): string
Expand Down
Loading