Propriedade indefinida do Laravel no trabalho

esquimó

Em um trabalho Laravel eu tenho:

use Spatie\Valuestore\Valuestore;

e

public function __construct()
{
  $this->settings = Valuestore::make(storage_path('app/settings.json'));
}

e

public function handle()
{
  if($this->settings->get('foo') == 'test') {
etc...

e nisto recebo um erro Undefined property App\Jobs\MyJobName::$settings. O que está errado?

Mesmo se eu fizer isso:

 public function handle()
    {
    $this->settings = Valuestore::make(storage_path('app/settings.json'));
      if($this->settings->get('foo') == 'test') {
    etc...

Recebo o mesmo erro.

Atualizar com base nos comentários

MyJobNameé chamado em um comando artesanal personalizado, que também usa, Valuestoremas suponho que não esteja relacionado.

Na aula CustomCommand:

use Spatie\Valuestore\Valuestore;

e

public function __construct()
{
  parent::__construct();
  $this->settings = Valuestore::make(storage_path('app/settings.json'));
}

e

public function handle()
{
  if($this->settings->get('foo') == 'test') // This works in this custom command!
  {
    $controller = new MyController;
    MyJobName::dispatch($controller);
  }
}

Então em CustomCommandeu uso Valuestoreexatamente da mesma maneira que em, MyJobNamemas no último não funciona. Conforme um dos comentários: Eu não faço $this->settingsglobal porque também não faço isso CustomCommande funciona bem aí.

Atualização 2

Se eu adicionar protegido $settings;acima da __construct()função conforme os comentários ainda não funciona, mesmo erro.

codificação-script

Se você usar JOB por QUEUE, você precisa de todas as solicitações ou consultas SQL a serem feitas pelo método handle

public function handle()
{
  $this->settings = Valuestore::make(storage_path('app/settings.json'));

  ....
}

Porque o construtor funciona quando você faz o objeto da classe, e este objeto é serializado e armazenado no banco de dados e após a desserialização e o identificador é acionado.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

O trabalho da fila do Laravel falha dizendo Propriedade indefinida, mas o trabalho funciona bem sem fila?

Propriedade indefinida do Laravel: stdClass :: $ id error

Propriedade indefinida no Laravel usando Eloquent

propriedade do objeto javascript é indefinida

Propriedade indefinida do listener de eventos de notificações do Laravel

Laravel - Propriedade indefinida: stdClass - consulta de pesquisa

Erro de `propriedade indefinida` em tarefas laravel

Laravel Eloquent HasOne :: $ id Propriedade indefinida

Relacionamento da categoria no laravel Propriedade indefinida: stdClass ::

Propriedade indefinida: App \ Ticket :: $ status laravel 7

Propriedade indefinida: App \ Services \ UserService :: $ app no Laravel

Erro de relacionamento do Laravel: Propriedade indefinida: Illuminate \ Database \ Eloquent \ Collection :: $ id na linha 1

Erro de relacionamento do Laravel: Propriedade indefinida: Illuminate \ Database \ Eloquent \ Collection :: $ id na linha 1

Os relacionamentos do Laravel mudando as colunas da tabela tornam a propriedade indefinida

Propriedade do objeto indefinida em Javascript / Redux

A propriedade @Input é indefinida no onInit do Angular 2

A propriedade do objeto é indefinida em AngularJS

Aviso do PHP: Propriedade indefinida: stdClass :: $ following

A propriedade de resultado findOne do MongoDb é indefinida

A propriedade é indefinida ao tentar acessar a propriedade do objeto javascript

Variável indefinida do Laravel

Propriedade indefinida:> erro stdClass ao usar a coluna do tipo de data no Laravel. Como posso resolver isso?

A propriedade do filtro da grade do jquery kendo é indefinida

Obtendo propriedade indefinida do objeto aninhado de resposta do Ajax

Laravel: Propriedade indefinida: Illuminate \ Database \ Eloquent \ Relations \ HasMany :: $ game

Propriedade indefinida: Illuminate \ Database \ Eloquent \ Builder :: $ password no Laravel

Propriedade indefinida: Illuminate \ Support \ Collection :: $ id no Laravel 5.2

laravel 5.4: Propriedade indefinida: Illuminate \ Validation \ Validator :: $ erros

laravel 5.4: Propriedade indefinida: Illuminate \ Validation \ Validator :: $ erros