DNSBlock
This commit is contained in:
51
app/Core/Model.php
Normal file
51
app/Core/Model.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace App\Core;
|
||||
|
||||
use App\Config\Database;
|
||||
use PDO;
|
||||
|
||||
abstract class Model
|
||||
{
|
||||
protected $conn;
|
||||
protected $table;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->conn = Database::getInstance()->getConnection();
|
||||
}
|
||||
|
||||
public function findAll()
|
||||
{
|
||||
$stmt = $this->conn->prepare("SELECT * FROM {$this->table}");
|
||||
$stmt->execute();
|
||||
return $stmt->fetchAll();
|
||||
}
|
||||
|
||||
public function find($id)
|
||||
{
|
||||
$stmt = $this->conn->prepare("SELECT * FROM {$this->table} WHERE id = :id");
|
||||
$stmt->execute(['id' => $id]);
|
||||
return $stmt->fetch();
|
||||
}
|
||||
|
||||
public function where($column, $value)
|
||||
{
|
||||
$stmt = $this->conn->prepare("SELECT * FROM {$this->table} WHERE {$column} = :value");
|
||||
$stmt->execute(['value' => $value]);
|
||||
return $stmt->fetchAll();
|
||||
}
|
||||
|
||||
public function first($column, $value)
|
||||
{
|
||||
$stmt = $this->conn->prepare("SELECT * FROM {$this->table} WHERE {$column} = :value LIMIT 1");
|
||||
$stmt->execute(['value' => $value]);
|
||||
return $stmt->fetch();
|
||||
}
|
||||
|
||||
public function delete($id)
|
||||
{
|
||||
$stmt = $this->conn->prepare("DELETE FROM {$this->table} WHERE id = :id");
|
||||
return $stmt->execute(['id' => $id]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user