[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Jean Silva
Criador Jean Silva 01/11/2022

Olá professor, boa tarde!

Pode me ajudar em uma situação, por favor?.

Tenho recebido o seguinte erro.Eu tenho 3 tabelas, 1 é a Moviment que é a principal, a 2 é a cart_moviments que é a secundária que quando eu coloco os dados da movimentação, ele salva alguns dados em cart_moviments e eu tenho a tabela 3 chamada veículos, que a qual tenho todas as informações dos veículos, todas as tabelas têm um ForeignId, para relacioná-los.

Property [vehicle] does not exist on this collection instance.

Meu Moviment Model:

protected $fillable = [

        'document_type_id', 'people_id', 'company_id', 'vehicle_id', 'department_id'

    ];

    public function Vehicle() {

        return $this->belongsTo(Vehicle::class);

    }

    public function cartMoviment() {

        return $this->hasMany(cartMoviment::class);

    }

Meu Model CartMoviment:

    protected $fillable = ['type', 'vehicle_cart_id'];

    // protected $table = 'cart_moviments';

 

public function Moviment() {

        return $this->belongsToMany(Moviment::class);

    }

 public function Vehicle() {

        return $this->belongsTo(Vehicle::class, 'vehicle_cart_id');

    }

Meu Index:

public function index(Moviment $moviment)

    {

        $this->authorize('view', $moviment);

        return MovimentResource::collection(Moviment::with(['cartMoviment', 'vehicle', 'company','person', 'document'])->orderBy('created_at','desc')->get());

    }

https://github.com/jeanasilva/gt_back

Criador Jean Silva 01/11/2022

Eu preciso retornar os dados do vehicle no cartMoviment.

"vehicle_manufacturer": "ONIX",

      "vehicle_type": "CAVALO",

      "vehicle_cart_id": [

        {

          "id": 2,

          "moviment_id": "2",

          "type": "Entrada",

          "vehicle_cart_id": "3", -> vehicle -> board // Tipo assim

          "status": "Ativo",

          "user_id": "361910e3-c173-c061-e053-20fb96965d02",

          "created_at": "2022-11-01T14:17:26.000000Z",

          "updated_at": "2022-11-01T14:17:26.000000Z"

        }

Jean Silva
Manager Carlos Ferreira 01/11/2022

Olá, Jean!
Tudo bem?

No seu model CartMoviment, "Vehicle" ficou com a primeira letra maiúscula;

Deve ficar minúscula, por isso quando faz with(['vehicle']) dá erro;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!