Esempio n. 1
0
 /**
  * Acessor para pegar uma Collection de Perfil ordenados pela quantidade de seguindo em comum
  * @return Collection
  */
 public function getSugestaoBySeguindoEmComumAttribute()
 {
     //Collection com todos os perfils que eu nao sigo
     $colNaoSeguindo = Perfil::all()->diff($this->followPerfil)->diff([$this]);
     $seguindo = $this->followPerfil;
     foreach ($colNaoSeguindo as $key => $perfil) {
         //Se esse perfil seguir outras pessoas, checo so seguindo desse perfil
         $seguindoDessePerfil = $perfil->followPerfil;
         if ($seguindoDessePerfil) {
             $seguindoEmComum = $seguindoDessePerfil->intersect($seguindo);
         }
         //Adicionando o parametro quantidadeSeguidores em comum em cada perfil da collection
         $perfilRetorno = $colNaoSeguindo->find($perfil->id);
         if ($perfilRetorno) {
             $perfilRetorno->quantidadeSeguindoEmComum = count($seguindoEmComum);
         }
     }
     //Ordenando a collection
     $colNaoSeguindo = $colNaoSeguindo->sortBy(function ($item) {
         return $item->quantidadeSeguindoEmComum;
     })->reverse();
     return $colNaoSeguindo;
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function perfilView()
 {
     $perfiles = Perfil::all();
     return view('asignarPerfil')->with('perfiles', $perfiles);
 }