Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!