donation/app/Models/SchemeModel.php

171 lines
4.4 KiB
PHP

<?php
namespace App\Models;
use CodeIgniter\Model;
class SchemeModel extends Model
{
protected $table = 'books';
protected $primaryKey = 'book_id';
protected $allowedFields = ['book_id ','title','sku','description','price','features','duration','business_id','updated_by','category','isactive','created_by'];
public function insertScheme($data)
{
return $this->insert($data);
}
public function getSchemeNamesAndDurationsByBusiness($business_id)
{
$builder = $this->builder();
$builder->select('books.book_id, books.title, books.price, books.duration, category.name as category_name');
$builder->join('book_categories', 'book_categories.book_id = books.book_id', 'left');
$builder->join('category', 'category.id = book_categories.category_id', 'left');
$builder->where('books.business_id', $business_id);
$builder->where('category.name', 'membership');
$builder->where('books.isactive', 1);
$query = $builder->get();
$schemes = [];
foreach ($query->getResult() as $row) {
$schemes[$row->book_id] = [
'title' => $row->title,
'price' => $row->price,
'duration' => $row->duration,
'category_name' => $row->category_name,
'book_id'=>$row->book_id
];
}
return $schemes;
}
public function getBooksAndImagesByBookId($id)
{
$builder = $this->db->table('books');
$builder->select('books.*, book_images.img_name, book_images.is_cover, book_images.type');
$builder->join('book_images', 'book_images.book_id = books.book_id', 'left');
$builder->where('books.book_id', $id);
$query = $builder->get();
return $query->getResultArray();
}
public function insertImage($imageData)
{
return $this->db->table('book_images')->insert($imageData);
}
// public function getSchemeDuration($schemeId)
// {
// $query = $this->select('duration')
// ->where('scheme_id', $schemeId)
// ->get();
// if ($query->getNumRows() === 1) {
// $row = $query->getRow();
// return $row->duration;
// } else {
// return null;
// }
// }
public function getSchemeNamesByBusiness($business_id)
{
$builder = $this->builder();
$builder->select('scheme_id, scheme_name');
$builder->where('business_id', $business_id);
$query = $builder->get();
$schemes = [];
foreach ($query->getResult() as $row) {
$schemes[$row->scheme_id] = $row->scheme_name;
}
return $schemes;
}
public function getSchemeNames()
{
$builder = $this->builder();
$builder->select('scheme_id, scheme_name');
$query = $builder->get();
$schemes =[];
foreach ($query->getResult() as $row) {
$schemes[$row->scheme_id] = $row->scheme_name;
}
return $schemes;
print_r($schemes);die();
}
public function getSchemeNameById($schemeId)
{
// Query the database to retrieve the scheme name by ID
$builder = $this->db->table('schemes');
$builder->select('scheme_name');
$builder->where('scheme_id', $schemeId);
$query = $builder->get();
// Check if a record was found
if ($query->getNumRows() > 0) {
$row = $query->getRow();
return $row->scheme_name;
} else {
return null; // Return null if no scheme with the given ID is found
}
}
public function getAllSchemes()
{
return $this->findAll();
}
public function updateImage($schemeId, $imageData)
{
$builder = $this->db->table('book_images');
$builder->set($imageData);
$builder->where('book_id', $schemeId);
$builder->update();
}
public function getData($table, $where = null, $whereIn = null)
{
$query = $this->db->table($table);
if ($where) {
$query->where($where);
}
if ($whereIn) {
// $query->whereIn($column_name,$missingValues)
$query->whereIn($whereIn[0], $whereIn[1]);
}
return $query->get()->getResult();
}
public function inactiveMissingDetails($table_name,$dataToUpdate,$where = null,$whereIn = null)
{
$this->db->table($table_name);
$query = $this->db->table($table_name);
if ($where) {
$query->where($where);
}
if ($whereIn) {
$query->whereIn($whereIn[0], $whereIn[1]);
}
return $query->update($dataToUpdate);
}
}