Gia*_*lan 0 php kohana kohana-orm kohana-3.2
所以我有一张桌子,内容如下:
我想从使用Kohana ORM的交易时间戳获得不同的日期我有一个名为的模型 Model_Transactions
如果我这样做
Model_Transactions::factory('transactions')->find_all();
Run Code Online (Sandbox Code Playgroud)
我得到所有数据.我将如何只获得不同的日期,因为我将它用作存档.我不希望用户单击存档并返回一个空白表.
例如:用户点击"2012年4月1日",因为4月01日没有交易,有一张空白表,我想避开那些场景,怎么样?
小智 6
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();
}
Run Code Online (Sandbox Code Playgroud)
然后你可以使用:
$timestamps = Model::factory('transactions')->get_distinct_timestamps();
foreach($timestamps as $timestamp)
{
$value = $timestamp['transaction_timestamp'];
}
Run Code Online (Sandbox Code Playgroud)
当然这只是一个例子.您可能不想返回数组.但您不限于使用ORM查询方法.
获取具有不同transaction_timestamp的ORM对象的另一个选项是:
Model_Transactions::factory('transactions')
->group_by('transaction_timestamp')
->find_all();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |