1. Go to this page and download the library: Download qingbing/php-db-model library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
qingbing / php-db-model example snippets
class Stu extends DbModel
{
/* @var int 开启缓存时缓存的时间(秒) */
protected $cachingDuration = 0;
/**
* 显示定义数据表名称,和类名相同,可以不用显示定义,但是建议都定义下
* @return string
*/
public function tableName()
{
return "{{stu}}";
}
/**
* 定义并返回模型属性的验证规则
* @return array
*/
public function rules()
{
return [
['class_id, name, sex, is_master', 'string'],
['id', 'safe'],
];
}
/**
* 和模型关联关系
* @return array
*/
public function relations()
{
return [
'stuClass' => [self::BELONGS_TO, '\TestClass\StuClass', 'class_id'],
'course' => [self::HAS_MANY, '\TestClass\StuCourse', 'stu_id'],
'statCourse' => [self::STAT, '\TestClass\StuCourse', 'stu_id'],
];
}
}
class StuClass extends DbModel
{
protected $cachingDuration = 0;
/**
* 显示定义数据表名称,和类名相同,可以不用显示定义,但是建议都定义下
* @return string
*/
public function tableName()
{
return "{{class}}";
}
/**
* 定义并返回模型属性的验证规则
* @return array
*/
public function rules()
{
return [
['name', 'string'],
['name', self::UNIQUE], // 模型唯一性验证
['id', 'safe'],
];
}
/**
* 和模型关联关系
* @return array
*/
public function relations()
{
return [
'master' => [self::HAS_ONE, '\TestClass\Stu', 'class_id', 'condition' => '`is_master`=:is_master', 'params' => [':is_master' => 1]],
'stu' => [self::HAS_MANY, '\TestClass\Stu', 'class_id'],
];
}
/**
* 获取属性标签,该属性在必要时需要被实例类重写
* @return array
*/
public function attributeLabels()
{
return [
'id' => '自增ID',
'name' => '年级',
];
}
}
class StuCourse extends DbModel
{
/**
* 显示定义数据表名称,和类名相同,可以不用显示定义,但是建议都定义下
* @return string
*/
public function tableName()
{
return "{{stu_course}}";
}
/**
* 和模型关联关系
* @return array
*/
public function relations()
{
return [
'course' => [self::BELONGS_TO, '\TestClass\Stu', 'stu_id'],
];
}
}