Sindbad~EG File Manager
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use App\Models\Mision;
use App\Models\Matricula;
use App\Models\Equipo;
use Livewire\WithPagination;
use Auth;
use DB;
use Carbon\Carbon;
class FronMisiones extends Component{
use WithPagination;
protected $paginationTheme = 'bootstrap';
public $mes;
public $MisionMode = true;
public function render(){
$matricula = Matricula::where('usuario_id', Auth::id())->first();
$equipo = Equipo::findOrFail($matricula->equipo_id);
// Subconsulta: misiones con evidencia del usuario
$misionesConEvidenciaIds = DB::table('evidencias')
->where('usuario_id', Auth::id())
->pluck('mision_id')
->toArray();
// Misiones SIN evidencia
$misionesSinEvidencia = DB::table('mision_matriculas as mm')
->join('misions as m', 'mm.mision_id', 'm.id')
->join('equipos as e', 'mm.equipo_id', 'e.id')
->select('m.id', 'm.titulo', 'm.puntos', 'm.puntos_extras')
->where('e.id', $equipo->id)
->whereNotIn('m.id', $misionesConEvidenciaIds)
->paginate(20, ['*'], 'sin_evidencia');
// Misiones CON evidencia
$misionesConEvidencia = DB::table('mision_matriculas as mm')
->join('misions as m', 'mm.mision_id', 'm.id')
->join('equipos as e', 'mm.equipo_id', 'e.id')
->select('m.id', 'm.titulo', 'm.puntos', 'm.puntos_extras')
->where('e.id', $equipo->id)
->whereIn('m.id', $misionesConEvidenciaIds)
->paginate(20, ['*'], 'con_evidencia');
// Retornar a la vista
return view('livewire.misionesfront.fron-misiones', [
"misionesSinEvidencia" => $misionesSinEvidencia,
"misionesConEvidencia" => $misionesConEvidencia,
]);
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists