Skip to content

Error when trying to save a File model #4921

@litzinger

Description

@litzinger

Description of the problem

I'm trying to update a File model in a queue job with the following code. Its just finding a model entity and trying to update it, but for some reason it needs the session object?

class UpdateFileJob extends AbstractJob implements ShouldQueue, ShouldBeUnique
{
    public function fire(Job $job, array $fileValues = []): bool
    {
        try {
            $file = ee('Model')->get('File', $fileValues['file_id'])->first();

            if (!$file) {
                $job->delete();
                return true;
            }

            $file->description = $fileValues['description'] ?? '';
            $file->save();

            $job->delete();
        } catch (\Exception $e) {
            ee()->logger->developer('[Dexter] Error updating file source: ' . $e->getMessage());

            return false;
        }

        return true;
    }
}

How To Reproduce

Error Messages

InvalidArgumentException Object
(
    [message:protected] => No such property: 'session' on ExpressionEngine\Legacy\Facade
    [string:Exception:private] => 
    [code:protected] => 0
    [file:protected] => /var/www/html/system/ee/ExpressionEngine/Legacy/Facade.php
    [line:protected] => 128
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Legacy/Facade.php
                    [line] => 35
                    [function] => get
                    [class] => ExpressionEngine\Legacy\Facade
                    [type] => ->
                )

            [1] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Model/File/FileSystemEntity.php
                    [line] => 414
                    [function] => __get
                    [class] => ExpressionEngine\Legacy\Facade
                    [type] => ->
                )

            [2] => Array
                (
                    [function] => onBeforeSave
                    [class] => ExpressionEngine\Model\File\FileSystemEntity
                    [type] => ->
                )

            [3] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Service/Model/Model.php
                    [line] => 840
                    [function] => call_user_func_array
                )

            [4] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Service/Model/Query/Update.php
                    [line] => 41
                    [function] => emit
                    [class] => ExpressionEngine\Service\Model\Model
                    [type] => ->
                )

            [5] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Service/Model/DataStore.php
                    [line] => 275
                    [function] => run
                    [class] => ExpressionEngine\Service\Model\Query\Update
                    [type] => ->
                )

            [6] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Service/Model/DataStore.php
                    [line] => 240
                    [function] => runQuery
                    [class] => ExpressionEngine\Service\Model\DataStore
                    [type] => ->
                )

            [7] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Service/Model/Query/Builder.php
                    [line] => 72
                    [function] => updateQuery
                    [class] => ExpressionEngine\Service\Model\DataStore
                    [type] => ->
                )

            [8] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Service/Model/Model.php
                    [line] => 370
                    [function] => update
                    [class] => ExpressionEngine\Service\Model\Query\Builder
                    [type] => ->
                )

            [9] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Model/Content/ContentModel.php
                    [line] => 219
                    [function] => save
                    [class] => ExpressionEngine\Service\Model\Model
                    [type] => ->
                )

            [10] => Array
                (
                    [file] => /var/www/html/addons/dexter/addons/dexter/Queue/Jobs/UpdateFileJob.php
                    [line] => 23
                    [function] => save
                    [class] => ExpressionEngine\Model\Content\ContentModel
                    [type] => ->
                )

            [11] => Array
                (
                    [file] => /var/www/html/addons/queue/addons/queue/vendor-build/illuminate/queue/Jobs/Job.php
                    [line] => 88
                    [function] => fire
                    [class] => BoldMinded\Dexter\Queue\Jobs\UpdateFileJob
                    [type] => ->
                )

            [12] => Array
                (
                    [file] => /var/www/html/addons/queue/addons/queue/vendor-build/illuminate/queue/Worker.php
                    [line] => 359
                    [function] => fire
                    [class] => BoldMinded\Queue\Dependency\Illuminate\Queue\Jobs\Job
                    [type] => ->
                )

            [13] => Array
                (
                    [file] => /var/www/html/addons/queue/addons/queue/vendor-build/illuminate/queue/Worker.php
                    [line] => 317
                    [function] => process
                    [class] => BoldMinded\Queue\Dependency\Illuminate\Queue\Worker
                    [type] => ->
                )

            [14] => Array
                (
                    [file] => /var/www/html/addons/queue/addons/queue/vendor-build/illuminate/queue/Worker.php
                    [line] => 147
                    [function] => runJob
                    [class] => BoldMinded\Queue\Dependency\Illuminate\Queue\Worker
                    [type] => ->
                )

            [15] => Array
                (
                    [file] => /var/www/html/addons/queue/addons/queue/Commands/CommandQueueWork.php
                    [line] => 80
                    [function] => daemon
                    [class] => BoldMinded\Queue\Dependency\Illuminate\Queue\Worker
                    [type] => ->
                )

            [16] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Cli/Cli.php
                    [line] => 273
                    [function] => handle
                    [class] => BoldMinded\Queue\Commands\CommandQueueWork
                    [type] => ->
                )

            [17] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Core/Core.php
                    [line] => 144
                    [function] => process
                    [class] => ExpressionEngine\Cli\Cli
                    [type] => ->
                )

            [18] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Core/Core.php
                    [line] => 116
                    [function] => bootCli
                    [class] => ExpressionEngine\Core\Core
                    [type] => ->
                )

            [19] => Array
                (
                    [file] => /var/www/html/system/ee/ExpressionEngine/Boot/boot.php
                    [line] => 184
                    [function] => run
                    [class] => ExpressionEngine\Core\Core
                    [type] => ->
                )

            [20] => Array
                (
                    [file] => /var/www/html/system/ee/eecli.php
                    [line] => 105
                    [args] => Array
                        (
                            [0] => /var/www/html/system/ee/ExpressionEngine/Boot/boot.php
                        )

                    [function] => require_once
                )

        )

    [previous:Exception:private] => 
)

Environment Details:

  • Version: 7.5.13
  • PHP Version 8.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions