如何在巴黎进行“查找和更新”查询

时间:2011-11-23 20:44:09

标签: php orm idiorm

我正在使用Paris with Idiorm,我在文档中找到有关如何查找和更新表的明确说明时遇到问题。

我不想在脚本中插入SQL查询。还有其他办法吗?

巴黎是基于Idiorm的Active Record实施。 Idiorm是一个对象关系映射器和流畅的查询构建器。

我有兴趣一次性完成count = count + 1这样的事情

2 个答案:

答案 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();