where('active', 1)->findAll(); } /** * To get store data by ID * @param int $id * @return array|object|null */ public function getStoresData(int $id = null) { if ($id) { return $this->where('id', $id)->first(); } return $this->findAll(); } public function getStoresName(int $id = null) { $this->select('name'); if ($id !== null) { $row = $this->where('id', $id)->first(); return $row ? $row['name'] : null; } $rows = $this->findAll(); return array_column($rows, 'name'); } /** * create store * @param array $data * @return bool|int|string */ public function createStore(array $data) { if ($data) { return $this->insert($data); } return false; } /** * update stores * @param array $data * @param int $id * @return bool */ public function updateStore(array $data, int $id) { if ($data && $id) { return $this->update($id, $data); } return false; } /** * remove store * @param int $id * @return bool|\CodeIgniter\Database\BaseResult */ public function removeStore(int $id) { if ($id) { return $this->delete($id); } return false; } /** * count total store * @return int|string */ public function countTotalStores() { return $this->where('active', 1)->countAllResults(); } //Select store by id public function getStoreById(int $id) { return $this->db->table('stores') ->select('name') ->where('id', $id) ->get() ->getRow(); // Utiliser getRow() pour retourner un seul objet et non un tableau } public function getIdStoreByName(string $name): int { $row = $this->db ->table('stores') ->select('id') ->where('LOWER(name)', strtolower($name)) ->get() ->getRow(); if ($row) { return (int) $row->id; } $this->db->table('stores')->insert([ 'name' => $name, 'active' => true, ]); return (int) $this->db->insertID(); } public function getAllStores() { return $this->orderBy('name', 'ASC')->findAll(); } }