Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
906 views
in Technique[技术] by (71.8m points)

eloquent - Laravel (5.7) query builder adding (redundant) 'is not null' to query's SQL

Using Laravel 5.7, it seems Eloquent Query builder is adding a (redundant?) is not null - why is this?

Contact model

Test code

Output - where opportunities.contact_id is not null seems to be unnecessary? Output

question from:https://stackoverflow.com/questions/65950501/laravel-5-7-query-builder-adding-redundant-is-not-null-to-querys-sql

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

File Illuminate/Database/Eloquent/Relations/HasOneOrMany.php:

/**
 * Set the base constraints on the relation query.
 *
 * @return void
 */
public function addConstraints()
{
    if (static::$constraints) {
        $this->query->where($this->foreignKey, '=', $this->getParentKey());

        $this->query->whereNotNull($this->foreignKey);
    }
}

This was the bug fix: https://github.com/laravel/framework/commit/1e80162e9a3a4c42a0079bd9f34e785197a66c07


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...