Closed
Description
Currently I will write method chaining like this:
final class User
{
public function scopeAuthor(Builder $query): Builder
{
return $query->whereIn("status", [
User::STATUS_SUSPENDED,
User::STATUS_BANNED,
])
->where("active", true)
->whereHas("books");
}
}
I know I was writing the methods chaining like this a while ago
final class User extends Model
{
public function scopeAuthor(Builder $query): Builder
{
return $query->whereIn("status", [
User::STATUS_SUSPENDED,
User::STATUS_BANNED,
])
->where("active", true)
->whereHas("books");
}
}
I've seen on Twitter people use a trick when the first method call is multiline
final class User
{
public function scopeAuthor(Builder $query): Builder
{
return $query->new()
->whereIn("status", [
User::STATUS_SUSPENDED,
User::STATUS_BANNED,
])
->where("active", true)
->whereHas("books");
}
}
Maybe it's worth considering adding a word about it.
Metadata
Metadata
Assignees
Labels
No labels