Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

290
Visualizações
bug in laravel 8.4? belongsToMany relationship objects not saved inside transaction

I have a simple transaction structure and a belongsToMany-relationship between 2 models user and sponsoring. I found out that the relationship data are not saved in the pivot table, when I wrap it inside a transaction. Without a transaction it works fine. Is this a zero day bug in laravel (framework v8.40) or does it work somehow different?

My models are defined like this:


class Sponsoring extends Model
{
    use HasFactory;
    use SoftDeletes;

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

  // ...
}

class User extends Authenticatable implements HasLocalePreference
{
    use SoftDeletes;
    use HasFactory;
    use Notifiable;

    public function sponsorings()
    {
        return $this->belongsToMany(Sponsoring::class, 'user_sponsorings');
    }

  // ...
}

My code looks like:

//DB::beginTransaction();

try {
$sponsoring = new Sponsoring();
// ...
$sponsoring->save();

$userIds = [ Auth::user()->id ];
// ...
$sponsoring->users()->sync($userIds);

} catch (\Exception $ex) {
   //DB::rollBack();
   throw new Error('could not save sponsoring: ' . $ex->getMessage());
 }

 //DB::commit();

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda