Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global scopes are ignored on Query::update #1798

Closed
goodevilgenius opened this issue Aug 1, 2019 · 0 comments · Fixed by #1799
Closed

Global scopes are ignored on Query::update #1798

goodevilgenius opened this issue Aug 1, 2019 · 0 comments · Fixed by #1799

Comments

@goodevilgenius
Copy link
Contributor

Given the following model:

<?php

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Builder;

class Scoped extends Eloquent
{
    protected $connection = 'mongodb';
    protected $collection = 'scoped';
    protected $fillable = ['name', 'favorite'];

    protected static function boot()
    {
        parent::boot();

        static::addGlobalScope('favorite', function (Builder $builder) {
            $builder->where('favorite', true);
        });
    }
}

If I run the following:

Scoped::query()->update(['name' => 'Johnny']);

It should only update models where favorite is true, because of the favorite scope. However, it updates all models.

goodevilgenius pushed a commit to goodevilgenius/laravel-mongodb that referenced this issue Aug 1, 2019
goodevilgenius pushed a commit to goodevilgenius/laravel-mongodb that referenced this issue Aug 1, 2019
Flambe pushed a commit to intergral/laravel-mongodb that referenced this issue Oct 11, 2019
* 👷 Travis

* Add arg PHP-VERSION in Dockerfile

* Delete empty row

* Add build arg in docker-compose.yml

* Add changes to Dcokerfile

* Separate installing vendors by composer use official image of composer

* Delete use composer image

* Add default value PHP_VERSION

* 🐳 Provide default docker arg

* Fix issue using query builder first method

* EmbedsMany respect primaryKey on association

*  fix typos

* laravel/lumen 5.7.14 compatibility

Updated model to be compatible with laravel/lumen 5.7.14

* Overrided whereIn method retrieval for relations, to force use standart whereIn nor whereInRawInteger

* fix bug

The main solution is to solve the bugs encountered in using database alone

* reassigned getDatabaseName method

* Remove dead code

* Update Model.php

* Update supported versions

* Require Laravel 5.8

* Fix tests (mongodb#1724)

*   Update Dockerfile, add for methods setUp and tearDown return type hint in all tests, replace fire on dispatch

* Resolve error test with touch

* Use COMPOSER_VERSION in Dockerfile

* Add alias for composer

* Change parent method's names
Broken commit in laravel: laravel/framework@2ee1892

* Remove changes in .travis.yml

* Remove changes from Dockerfile

* Revert changes in docker-compose.yml

* Update image with mysql

* 🐳 New travis docker setup

* Update phpunit.xml (mongodb#1733)

* Add arg options for creating collections with options (mongodb#1734)

* fix chunkById for types other than ObjectId and laravel >= 5.6.25 (mongodb#1543)

* Adds support for _id of binary type (mongodb#1611)

* Create FUNDING.yml

* Update FUNDING.yml

* Update FUNDING.yml

* Add hasIndex and dropIndexIfExists methods

* Revert changes in Builder and Model for id keys, fix test for Queue (mongodb#1795)

* Revert changes in Builder and Model for id keys, fix test for Queue

* Fix format in Model

* Get base query before update so that scopes are applied (mongodb#1799)

Fixes mongodb#1798

* Return proper value instead of _id on QueryBuilder (mongodb#1747)

Fixes mongodb#1741

* fix for non string id

* use env values from phpunit.xml, update database.php and queue.php (mongodb#1738)

* use env values from phpunit.xml, update database.php and queue.php

* Add .editorconfig

* Update QueueTest.php

* Update phpunit.xml.dist

* Use in casting instead intval

* Change operator (-> to ::)

* Code cleanup

* Add hasIndex and dropIndexIfExists methods

* ⬆️ Support for laravel 6

* ♻️ Make tests compatible with latest phpunit version

* 🚨 Linting

* ✅ Replace str_random usage

* Update src/Jenssegers/Mongodb/Relations/EmbedsMany.php

Co-Authored-By: Jens Segers <[email protected]>

* fix filtering with operator not like issue

* replcae string operation with exact match of (not like)

* add test to not like oepration fix

* fix regex demo code
mnphpexpert added a commit to mnphpexpert/laravel-mongodb that referenced this issue Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant