46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Product\Table;
|
||
|
|
||
|
use App\Auth\UserTable;
|
||
|
use App\Gmarche\Table\AntenneTable;
|
||
|
use App\Gmarche\Table\RegionTable;
|
||
|
use App\Product\Entity\Rech;
|
||
|
use Framework\Database\Query;
|
||
|
use Framework\Database\Table;
|
||
|
|
||
|
class RechTable extends Table
|
||
|
{
|
||
|
|
||
|
protected $entity = Rech::class;
|
||
|
|
||
|
protected $table = 'souhaits';
|
||
|
|
||
|
public function findAll(): Query
|
||
|
{
|
||
|
$user = new UserTable($this->pdo);
|
||
|
$antenne = new AntenneTable($this->pdo);
|
||
|
$region = new RegionTable($this->pdo);
|
||
|
return $this->makeQuery()
|
||
|
->join($user->getTable().' as u' , 'u.id = rech.user_id')
|
||
|
->join($antenne->getTable().' as a' , 'a.id = rech.antenne_id')
|
||
|
->join($region->getTable().' as reg' , 'reg.id = a.region_id')
|
||
|
->select('rech.*, u.username, a.name as antenne_name, reg.name as region_name' )
|
||
|
->order('rech.created_at DESC');
|
||
|
}
|
||
|
|
||
|
public function findByAntenneId($field, $value): Query
|
||
|
{
|
||
|
$user = new UserTable($this->pdo);
|
||
|
$antenne = new AntenneTable($this->pdo);
|
||
|
$region = new RegionTable($this->pdo);
|
||
|
return $this->makeQuery()
|
||
|
->join($user->getTable().' as u' , 'u.id = rech.user_id')
|
||
|
->join($antenne->getTable().' as a' , 'a.id = rech.antenne_id')
|
||
|
->join($region->getTable().' as reg' , 'reg.id = rech.region_id')
|
||
|
->select('rech.*, u.username, a.name as antenne_name, reg.name as region_name' )
|
||
|
->where("$field = $value" )
|
||
|
->order('rech.created_at DESC');
|
||
|
}
|
||
|
}
|