无法使 SQL Mapper 的 copyfrom() 方法在 Fat Free Framework 中工作
Can't get SQL Mapper's copyfrom() method to work in Fat Free Framework
我正在尝试让 copyfrom 在我正在开发的 PHP 应用程序中工作。
这是附加到我的 PUT /api/visitor/@id 路由的函数:
public function update($f3, $params) {
$data = json_decode( $f3->get('BODY'), true );
$visitor_id = $params['id'];
$visitor = new \Models\Visitor();
$visitor->load(array('id = ?', $visitor_id));
// if mapper object is hydrated copy from request body
if(!$visitor->dry()) {
$visitor->copyFrom($data);
}
$visitor->save();
}
我的访问者模型扩展了 \DB\SQL\Mapper,并且我的 $data 的键匹配我的映射器对象的属性,但 $data 并不总是包含每个映射器对象的键 属性。数组是否需要包含每个映射器对象的键 属性?
无论如何,存储在关联数组$data 中的信息不会存储在数据库中。
我也尝试过 copyfrom() 和 copyFrom()。我在文档和其他示例中都看到了。
知道我做错了什么吗?
Does the array need to contain a key for every single mapper object property?
没有
但是,数组输入仅在 F3 v3.5 中可用。如果你是运行v3.4或以下,你需要先把你的数据放到一个hive key中。
if(!$visitor->dry()) {
$f3->set('data',$data);
$visitor->copyFrom('data');
}
我正在尝试让 copyfrom 在我正在开发的 PHP 应用程序中工作。
这是附加到我的 PUT /api/visitor/@id 路由的函数:
public function update($f3, $params) {
$data = json_decode( $f3->get('BODY'), true );
$visitor_id = $params['id'];
$visitor = new \Models\Visitor();
$visitor->load(array('id = ?', $visitor_id));
// if mapper object is hydrated copy from request body
if(!$visitor->dry()) {
$visitor->copyFrom($data);
}
$visitor->save();
}
我的访问者模型扩展了 \DB\SQL\Mapper,并且我的 $data 的键匹配我的映射器对象的属性,但 $data 并不总是包含每个映射器对象的键 属性。数组是否需要包含每个映射器对象的键 属性?
无论如何,存储在关联数组$data 中的信息不会存储在数据库中。
我也尝试过 copyfrom() 和 copyFrom()。我在文档和其他示例中都看到了。
知道我做错了什么吗?
Does the array need to contain a key for every single mapper object property?
没有
但是,数组输入仅在 F3 v3.5 中可用。如果你是运行v3.4或以下,你需要先把你的数据放到一个hive key中。
if(!$visitor->dry()) {
$f3->set('data',$data);
$visitor->copyFrom('data');
}