我正在使用Paris with Idiorm,我在文档中找到有关如何查找和更新表的明确说明时遇到问题。
我不想在脚本中插入SQL查询。还有其他办法吗?
巴黎是基于Idiorm的Active Record实施。 Idiorm是一个对象关系映射器和流畅的查询构建器。
我有兴趣一次性完成count = count + 1这样的事情
答案 0 :(得分:2)
我在github site上找到了这个:
更新记录 要更新数据库,请更改对象的一个或多个属性,然后调用save方法将更改提交到数据库。同样,您可以通过使用set方法或直接设置属性的值来更改对象属性的值:
$person = ORM::for_table('person')->find_one(5);
// The following two forms are equivalent
$person->set('name', 'Bob Smith');
$person->age = 20;
// Syncronise the object with the database
$person->save();
Creating new records
要添加新记录,您需要先创建一个“空”对象实例。然后,您可以正常设置对象的值,并保存它。
$person = ORM::for_table('person')->create();
$person->name = 'Joe Bloggs';
$person->age = 40;
$person->save();
保存对象后,可以调用其id()方法来查找数据库分配给它的自动生成的主键值。
检查属性是否已被修改 要检查自创建对象(或上次保存)后属性是否已更改,请调用is_dirty方法:
$name_has_changed = $person->is_dirty('name'); // Returns true or false
答案 1 :(得分:0)
根据github页面上的文档,在idiorm中,您可以通过执行以下操作来更新记录:
$person = ORM::for_table('person')->find_one(5);
// The following two forms are equivalent
$person->set('name', 'Bob Smith');
$person->age = 20;
// Syncronise the object with the database
$person->save();
或者在“巴黎”中这样做:
$user = Model::factory('User')->find_one($id);
$user->name = 'Paris';
$user->save();