Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá meus amigos, eu não sei onde postar minha dúvida, então vou por aqui pois talvez alguem possa me ajudar.
É o seguinte, trabalho com sistema de Marketing em Laravel e pra cada usuário tem comissões multiniveis, ou seja
" Pedro indicou Maria( que neste caso 'Maria' Ficaria em Baixo de 'Pedro'. Até aí tudo bem!) logo após 'Maria' Recrutou outro membro o 'Joaquin'
( que neste caso 'Joaquin' Ficaria em Baixo de 'Maria')<-- eu não consigo mostrar este indicado('Joaquin') ao 'Pedro' que está lá em cima.
Exemplo: Suponhamos que eu sou o tal 'Pedro' e este da imagem abaixo é a 'Maria', sendo em baixo dela tem o ' Joaquin'(que n está aparecendo).
Gostaria de saber alguma forma de como clicar na 'Maria' e aparecer o 'Joaquin'.
segue meu html:
<table id="example2" class="table table-bordered table-hover">
<thead>
<tr>
<th>Nome</th>
<th>Email</th>
<th>Telefone</th>
<th>Situação</th>
<th>Investimento</th>
<th>Graduação</th>
</tr>
</thead>
<tbody>
@inject('usuarios', 'App\User')
@foreach($usuarios->getIndicados() as $user)
<tr>
<td><b>{{$user->name}}</b></td>
<td>{{$user->email}}</td>
<td>{{$user->telefone}}</td>
<!-- <td>{{$user->getUserDirection()}}</td> -->
<td>{{$user->getStatus()}}</td>
<td>{{$user->getPacote()->nome}}</td>
<td>{{$user->minhaGraduacao()}}</td>
</tr>
@endforeach
</tbody>
</table>
Aqui o PHP:
public function getIndicados($id = '') {
if ($id == '') {
$id = Auth::user()->id;
}
$reffer = Referrals::where('pai_id', $id)->get();
$users = array();
foreach ($reffer as $key => $r) {
$users[$key] = $this->where('id', $r->user_id)->first();
}
return $users;
}
public function getFilhos($id = null, $count = false) {
if (!$id) {
$id = $this->id;
}
$reffer = Referrals::where('system_id', $id)->orderBy('direcao', 'ASC')->get();
$users = array();
foreach ($reffer as $key => $r) {
$user = $this->where('id', $r->user_id)->first();
$user->direcao = $this->getUserDirection($r->user_id);
$users[$key] = $user;
}
if ($count) {
return count($users);
}
return $users;
}É meio chato e mt complexo realmente, mas tipo, não adianta eu colocar somente o id de quem indicou pq em uma outra conta a pessoa que indicou é outra.
O pior é que ja está tudo pronto, só organizar, as vezes parece fácil e realmente é, só que confundi mt a cabeça.
Ex: minha database no phpmyadmin é "xxxx" tenho a table "referrals"(são armazenados ids dos indicados) e a cima dela tem a tabela "users"(temos os usuários)e uma de suas estruturas é o "id".
Vamos supor que o "id 2" é o 'Pedro' que indicou o "id 3"' Maria' e ela indicou o "id 4" 'Joaquin'.
Eu estando na conta do "Pedro" só consigo ver meu indicado que neste caso é o "id 3" Maria, quero arrumar alguma forma de clicar no "id 3" 'Maria' que apareça o "id 4" Joaquin.
Nas variaveis EX:
{{$user->nome}}
ele puxa somente oque há dentro da tabela "users", sendo que os "Referidos" estão na tabela "referrals" dentro da db "xxxx"
Consegui fazer a contagem dos indicados dos meus indicados com uma simples função:
public function nIndicados() {
return Referrals::where('pai_id', $this->id)->count();
}
e chamei ela no html
<img class="img-avatar img-avatar-thumb" src="/img/positivo.png" width="128" data-container="body" alt="User Avatar" title="{{$user->nIndicados()}}"data-toggle="tooltip" style="cursor:pointer;"></td>
Enfim consegui resolver uma parte.
Aonde tem a imagem com o Sinal de '+' mostra a quantidade de diretos que a pessoa tem
Como eu faria pra poder mostrar os nomes de cada um ao inves de quantidades? melhor se fosse os 2

Basta buscar os indicados que tiverem o id de quem indicou.
Por exemplo, suponhamos que a tabela dos indicados tenha o id de quem indicou né.
Já que você esta listando todos os dados de um certo indicado. Basta pegar o id dele, e fazer uma nova consulta mas agr trazendo os indicados deste indicador .
É um pouco complexo de explicar esta parada... Na minha mente ta claro, não sei se consegui passar pra você isso..
Qlqr coisa manda uma msg pra mim!