ORM 模型应该代表表中的单个条目。使用 ORM find_all() 它会想要选择表中的所有属性。由于您的 id 应该是唯一的,因此每一行本质上都是不同的。
如果您只想获取不同 transaction_timestamp 值的列表,您可以在模型中添加一个方法来检索它。就像是:
public function get_distinct_timestamps()
{
return DB::select('transaction_timestamp')
->from($this->_table_name)
->distinct('transaction_timestamp')
->execute()
->as_array();
}
然后你可以使用:
$timestamps = Model::factory('transactions')->get_distinct_timestamps();
foreach($timestamps as $timestamp)
{
$value = $timestamp['transaction_timestamp'];
}
当然这只是一个例子。您可能不想返回一个数组。但您不仅限于使用 ORM 查询方法。
获取具有不同 transaction_timestamp 的 ORM 对象的另一个选项是:
Model_Transactions::factory('transactions')
->group_by('transaction_timestamp')
->find_all();