У меня есть следующий код:
$fac = DB::table('amortizacion')
->select('id_fac_enc')
->where('id_amortizacion','=',$id)
->get();
$am = DB::table('amortizacion as a')
->join('cliente as c','c.id_cliente','a.id_cliente')
->select('nombre','nit','direccion','id_fac_enc','saldo')
->where('id_amortizacion','=',$id)
->get();
$am2 = DB::table('amortizacion as a')
->join('cliente as c','c.id_cliente','a.id_cliente')
->select('nombre','nit','direccion','id_fac_enc','saldo')
->where('id_fac_enc','=',$fac)
->get();
Я пробую делать, что query $ am2, будет брать стоимость, которую возвращает query $fac, но всегда возвращает ошибку, query в mysql просто решается так: select * from амортизация where id_fac_enc = (select id_fac_enc from амортизация where id_amortizacion=1);
У меня была похожая ошибка и я нашел одну soluciГіn, оставляю ее aquГ, - если я смог помогать кому-то.
Мое предложение serГ, - чтобы менять консультации из-за:
$fac = DB::table('amortizacion')
->select('id_fac_enc')
->where('id_amortizacion','=',$id)
->pluck('id_fac_enc'); // Cambio get por pluck
$am = DB::table('amortizacion as a')
->join('cliente as c','c.id_cliente','a.id_cliente')
->select('nombre','nit','direccion','id_fac_enc','saldo')
->where('id_amortizacion','=',$id)
->get();
$am2 = DB::table('amortizacion as a')
->join('cliente as c','c.id_cliente','a.id_cliente')
->select('nombre','nit','direccion','id_fac_enc','saldo')
->whereIn('id_fac_enc', $fac) // Cambio Where por WhereIn
->get();
WhereIn получи данные array и pluck превращает ее colecciГіn в array стоимости типа, которая прошла.