gmarche/src/Admin/Table/UserTable.php

76 lines
2.0 KiB
PHP

<?php
namespace App\Admin\Table;
use App\Admin\Entity\User;
use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable;
use Framework\Database\Query;
use Framework\Database\Table;
class UserTable extends Table
{
protected $entity = User::class;
protected $table = 'users';
public function findList(): array
{
$results = $this->pdo
->query("SELECT id, name FROM {$this->table}")
->fetchAll(\PDO::FETCH_NUM);
$list = [];
foreach ($results as $result) {
$list[$result[0]] = $result[1];
}
return $list;
}
public function findAntennebyId(int $id_antenne): Query
{
$antenne = new AntenneTable($this->pdo);
return $this->makeQuery()
->select('a.name as nameAntenne')
->where("a.id = $id_antenne");
}
public function findUsers($role): Query
{
return $this->makeQuery()
->select('u.*')
->where("u.role = '" . $role . "'")
->order('u.username ASC');
}
/*public function findUsersSuivi($role): Query
{
$antenne = new AntenneTable($this->pdo);
return $this->makeQuery()
->join($antenne->getTable() . ' as a', 'substring(u.suiviantenne,1,1) = a.id')
->select('u.*,a.name as nameAntenne')
->where("u.role = '".$role."'")
->order('u.username, nameAntenne ASC');
}*/
public function findAdminUsers($role): Query
{
return $this->makeQuery()
->select('u.*')
->where("u.role = $role")
->order('u.username ASC');
}
public function findRole($username): Query
{
return $this->makeQuery()
->select('u.role')
->where("u.username = '" . $username . "'");
}
public function findRole2($username)
{
return $this->pdo
->query("SELECT role FROM {$this->table} WHERE username='".$username."'")
->fetch();
}
}