Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

232
Vistas
Laravel 5.8: $bal->balance se vuelve nulo

Quiero obtener un valor de la columna de balance de una tabla dinámica llamada user_wallet que dice así:

ingrese la descripción de la imagen aquí

Así que escribí esto en el Controlador:

 $bal = Wallet::with("users")->whereHas('users', function ($query) use ($wallet_id, $user_id) { $query->where('wallet_id', $wallet_id); $query->where('user_id', $user_id); })->first();

Pero cuando hago dd($bal->balance) , ¡obtengo null !

Entonces, ¿por qué es eso? ¿Cómo puedo obtener el valor del balance en función de user_id y wallet_id correctamente?

Aquí también están las relaciones entre el modelo User y el modelo de Wallet :

User.php

 public function wallets() { return $this->belongsToMany(Wallet::class, 'user_wallet', 'user_id', 'wallet_id')->withPivot('balance'); }

Wallet.php

 public function users() { return $this->belongsToMany(User::class, 'user_wallet', 'wallet_id', 'user_id'); }

Realmente agradecería cualquier idea o sugerencia de ustedes...

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su consulta se supone que es como a continuación. Porque la relación que está haciendo es con la tabla de usuarios, no con user_wallet.

 $bal = Wallet::with("users") ->whereHas('users', function ($query) use ($user_id) { $query->where('id',$user_id); }) ->where('id', $wallet_id) ->first();

También puede hacer una consulta simple:

 $bal = DB::table('user_wallet') ->where('wallet_id', $wallet_id) ->where('user_id', $user_id) ->first(); if (!empty($bal)) { $balance = $bal->balance; }
over 4 years ago · Santiago Trujillo Denunciar

0

Dado que es una relación de muchos a muchos, para obtener la tabla dinámica, haga un bucle como se muestra a continuación:

 @foreach($bal as $key => $value) {{$value->pivot->balance}} @endforeach

o si es un solo elemento, puede hacer lo siguiente:

 $user = $bal->users()->first(); $user->pivot->balance;

o

 $user = $bal->users->first(); $user->pivot->balance;

si todavía necesita directamente entonces, como lo sugiere @Dilip Hirapara answer .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda