Ir ao conteúdo
  • Cadastre-se

PHP Laravel distribuir valores retornados do banco de dados


Posts recomendados

Galera estou obtendo resultados de uma query em uma tabela na view mas está ficando dois valores diferentes para o mesmo funcionário. Preciso que cada valor se atribua a um funcnionário.

 

Meu código da query no controller:

 

	$jobposition = table::companydata()
	->where('company', $comp)
	->join('people', 'people.id', '=', 'company_data.reference')
	->get('jobposition');

 

Esta query retorna dois valores.

Estou retornando os valores para a view "admin.attendance-pdf-teste":

 

$pdf = PDF::loadView('admin.attendance-pdf-teste', compact('attendance', 'comp', 'companyaddress', 'jobposition', 'startdate'));

 

 

A tabela nessa view:

 

@foreach ($attendance as $employee => $data)
<div style="page-break-after: always;">
	<table align="center" style="font-size:7pt; text-align:center">
		<thead>
			<tr>
			<th style="border:0px">Funcionário</th>
			<th>Local Trabalho</th>
			<th>Endereço</th>
			<th>Cargo</th>
			<th>Admissão</th>
			<th>Matricula</th>
			<th>Escala</th>
			</tr>
		<thead>
		<tbody>
			<tr>
			<td>{{ $employee }}</td>
			<td>{{ $comp }}</td>
			<td>{{ $companyaddress }}</td>
			<td>{{ $jobposition }}</td>
			<td>@php echo e(date('d-m-Y', strtotime($startdate))) @endphp</td>
			<td></td>
			<td></td>
			</tr>
		</tbody>
	</table>

 

 

Os valores obtidos são divididos por página no pdf ficando as informações de cada funcionário em uma única página.

A tabela na primeira página me trás o seguinte:

1.jpg.5d52d69adb732b3ad72af39e7001f476.jpg

 

A tabela na segunda página:

2.thumb.jpg.a7d69bd15c2831e1a2d26f1918a1e7e8.jpg

 

 

Ou seja, parece que preciso distribuir os valores de cargo de acordo com a variável $employee que é o nome do funcionário mas não estou conseguindo fazer isso. Podem me dar uma ajuda?

 

 

O nome do funcionário na variável $employee é obtido através de uma outra outra query:

	$attendance = table::companydata()
	->where('company', $comp)
	->join('people_attendance', 'people_attendance.reference', '=', 'company_data.reference')
	->whereBetween('date', ["$start", "$end"])
	->orderBy('date', 'asc')
	->get()
	->groupBy('employee');

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

@tiagopraz Cara, acho que só mudando o que você vai replicar no seu foreach deve resolver.

 

Tenta algo assim:

<div style="page-break-after: always;">
	<table align="center" style="font-size:7pt; text-align:center">
		<thead>
            <tr>
                <th style="border:0px">Funcionário</th>
                <th>Local Trabalho</th>
                <th>Endereço</th>
                <th>Cargo</th>
                <th>Admissão</th>
                <th>Matricula</th>
                <th>Escala</th>
			</tr>
        <thead>
        <tbody>
            @foreach ($attendance as $employee => $data)
		<tr>
                <td>{{ $employee }}</td>
                <td>{{ $comp }}</td>
                <td>{{ $companyaddress }}</td>
                <td>{{ $jobposition }}</td>
                <td>@php echo e(date('d-m-Y', strtotime($startdate))) @endphp</td>
                <td></td>
                <td></td>
		</tr>
            @endforeach
		</tbody>
    </table>
</div>

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!