0

我将Paris 与 Idiorm 一起使用,但在文档中找不到有关如何查找和更新表格的明确说明时遇到问题。

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

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

我有兴趣一次性完成类似 count = count + 1 的操作

4

2 回答 2

2

我在他们的github 网站上找到了这个:

更新记录 要更新数据库,请更改对象的一个​​或多个属性,然后调用 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
于 2011-11-24T00:07:57.637 回答
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();
于 2011-11-24T00:08:31.723 回答