Files
kiri-databases/ModelInterface.php
T

61 lines
892 B
PHP
Raw Normal View History

2022-01-09 03:49:51 +08:00
<?php
/**
* Created by PhpStorm.
* User: whwyy
* Date: 2018/3/30 0030
* Time: 14:39
*/
declare(strict_types=1);
namespace Database;
/**
* Interface ModelInterface
* @package Database
*/
interface ModelInterface
{
/**
2023-04-10 17:13:24 +08:00
* @param array|string $param
2022-01-09 03:49:51 +08:00
* @param null $db
* @return ModelInterface
*/
2023-04-10 17:13:24 +08:00
public static function findOne(array|string $param, $db = NULL): mixed;
2022-01-09 03:49:51 +08:00
2022-01-20 19:04:15 +08:00
/**
* @param array $data
* @return static
*/
public static function populate(array $data): static;
2022-01-09 03:49:51 +08:00
/**
* @return ActiveQuery
* return a sql queryBuilder
*/
public static function query(): ActiveQuery;
2022-01-20 19:04:15 +08:00
/**
2022-02-14 17:56:53 +08:00
* @return ?string
2022-01-20 19:04:15 +08:00
*/
2022-02-14 17:56:53 +08:00
public function getPrimary(): ?string;
2022-01-20 19:04:15 +08:00
2022-01-09 03:49:51 +08:00
/**
* @return string
*/
public function getTable(): string;
/**
* @return Connection
*/
public function getConnection(): Connection;
}