37 lines
1.1 KiB
PHP
37 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Api\Core;
|
|
|
|
class Model {
|
|
protected static $table;
|
|
|
|
public static function all() {
|
|
$db = db();
|
|
$stmt = $db->query("SELECT * FROM " . static::$table);
|
|
return $stmt->fetchAll();
|
|
}
|
|
|
|
public static function find($id) {
|
|
$db = db();
|
|
$stmt = $db->prepare("SELECT * FROM " . static::$table . " WHERE id = :id");
|
|
$stmt->execute(['id' => $id]);
|
|
return $stmt->fetch();
|
|
}
|
|
|
|
public static function where($column, $value) {
|
|
$db = db();
|
|
$stmt = $db->prepare("SELECT * FROM " . static::$table . " WHERE {$column} = :value");
|
|
$stmt->execute(['value' => $value]);
|
|
return $stmt->fetchAll();
|
|
}
|
|
|
|
public static function create($data) {
|
|
$db = db();
|
|
$columns = implode(', ', array_keys($data));
|
|
$placeholders = ':' . implode(', :', array_keys($data));
|
|
$sql = "INSERT INTO " . static::$table . " ($columns) VALUES ($placeholders)";
|
|
$stmt = $db->prepare($sql);
|
|
$stmt->execute($data);
|
|
return $db->lastInsertId();
|
|
}
|
|
} |