在许多php框架中,我们可以做类似的事情:
{
"data": {
"some_key":"some_val",
"title":"test title",
"message":"Test message from 30.09.2015 12:57:44",
"notId":14243
},
"registration_ids":["*******"]
}
如何在我自己的解决方案中执行此操作?我目前的模特:
class Test extends Model
{
protected $first;
protected $second;
public function getAllAttributes() {
return $this->first.','.$this->second;
}
}
用法:
class Model
{
// ..
public function all() {
return mysqli_query($con, 'select * from '.$this->table);
}
}
答案 0 :(得分:0)
据我所知,您希望从MySQL查询创建当前类的对象,而无需再次处理每个模型中的查询生成和对象实例化。
您描述的模型(模型负责加载自身)被称为 Active Record ,并且受到Ruby on Rails的欢迎,然后在CakePHP和Laravel等PHP框架中进行了调整。
如何实现它没有单一的解决方案,请查看这些框架的代码以了解它们的工作原理。
重要的是,模型必须以某种方式描述自己,即从数据库加载哪些属性,它们的数据类型是什么,使用哪个表。这可以基于MySQL中的DESCRIBE $table
结果,通过" Annotations"和反射,或明确的代码。