diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 0c707b9dd..f406209be 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -13,9 +13,10 @@ jobs: matrix: php: [7.1, 7.2, 7.3, 7.4] os: ['ubuntu-latest'] + mongodb: [3.6, 4.0, 4.2] services: mongo: - image: mongo + image: mongo:${{ matrix.mongodb }} ports: - 27017:27017 mysql: @@ -26,7 +27,7 @@ jobs: MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' MYSQL_DATABASE: 'unittest' MYSQL_ROOT_PASSWORD: - name: PHP ${{ matrix.php }} Test ${{ matrix.env }} + name: PHP ${{ matrix.php }} with mongo ${{ matrix.mongodb }} steps: - uses: actions/checkout@v1 @@ -60,3 +61,4 @@ jobs: run: vendor/bin/php-coveralls -v env: COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + continue-on-error: true diff --git a/.styleci.yml b/.styleci.yml new file mode 100644 index 000000000..0285f1790 --- /dev/null +++ b/.styleci.yml @@ -0,0 +1 @@ +preset: laravel diff --git a/src/Jenssegers/Mongodb/Eloquent/HybridRelations.php b/src/Jenssegers/Mongodb/Eloquent/HybridRelations.php index bfe9a2b2c..421a89827 100644 --- a/src/Jenssegers/Mongodb/Eloquent/HybridRelations.php +++ b/src/Jenssegers/Mongodb/Eloquent/HybridRelations.php @@ -184,7 +184,7 @@ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null // there are multiple types in the morph and we can't use single queries. if (($class = $this->$type) === null) { return new MorphTo( - $this->newQuery(), $this, $id, null, $type, $name + $this->newQuery(), $this, $id, $ownerKey, $type, $name ); } @@ -195,8 +195,10 @@ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null $instance = new $class; + $ownerKey = $ownerKey ?? $instance->getKeyName(); + return new MorphTo( - $instance->newQuery(), $this, $id, $instance->getKeyName(), $type, $name + $instance->newQuery(), $this, $id, $ownerKey, $type, $name ); }