core/BaseModel.php
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
require_once __DIR__ . '/../config/database.php';
require_once __DIR__ . '/Database.php';
require_once __DIR__ . '/Security.php';
require_once __DIR__ . '/Logger.php';
require_once __DIR__ . '/Pagination.php';
abstract class BaseModel {
protected $db;
protected $table;
protected $primaryKey = 'id';
protected $fillable = [];
protected $timestamps = true;
public function __construct() {
$this->db = Database::getInstance();
}
public function find($id) {
$sql = "SELECT * FROM {$this->table} WHERE {$this->primaryKey} = ?";
return $this->db->fetchOne($sql, [$id]);
}
public function findAll($orderBy = null, $order = 'ASC') {
$sql = "SELECT * FROM {$this->table}";
if ($orderBy) {
$sql .= " ORDER BY {$orderBy} {$order}";
}
return $this->db->fetchAll($sql);
}
public function findBy($field, $value) {
$sql = "SELECT * FROM {$this->table} WHERE {$field} = ?";
return $this->db->fetchAll($sql, [$value]);
}
public function findOneBy($field, $value) {
$sql = "SELECT * FROM {$this->table} WHERE {$field} = ? LIMIT 1";
return $this->db->fetchOne($sql, [$value]);
}
public function create($data) {
$data = $this->filterFillable($data);
if ($this->timestamps) {
$data['created_at'] = date('Y-m-d H:i:s');
$data['updated_at'] = date('Y-m-d H:i:s');
}
return $this->db->insert($this->table, $data);
}
public function update($id, $data) {
$data = $this->filterFillable($data);
if ($this->timestamps) {
$data['updated_at'] = date('Y-m-d H:i:s');
}
return $this->db->update($this->table, $data, "{$this->primaryKey} = ?", [$id]);
后面还有 49 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
