【发布时间】:2017-04-17 21:36:06
【问题描述】:
我需要修改此对象以仅返回过去 100 天的条目,但我们没有每天的条目,因此我们需要更复杂的东西来过滤掉额外的日期。
当前对象:
$obj = YearToDate::get()->sort('ID', 'DESC')->limit(100);
是否可以在对象定义中按创建日期进行过滤?还是我需要创建一个函数来处理过滤?
这是课程:
class YearToDate extends DataObject {
// Create DB fields
private static $db = array(
'Inches' => 'Text'
);
// Assign Weather to Weather
private static $belongs_many_many = array(
'Weather' => 'Weather'
);
// Summary fields to show in gridfield
private static $summary_fields = array(
'Created' => 'Date',
'Inches' => 'Inches'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
// Remove Fields
$fields->removeByName('Weather');
// Add DB fields to CMS tabs
$fields->addFieldToTab('Root.Main', new TextField('Inches','Inches'));
return $fields;
}
// Required Fields
function getCMSValidator() {
return new RequiredFields(array('Inches'));
}
}
【问题讨论】:
-
请添加您正在使用的数据库库(ORM/Query builder)。
-
如果
YearToDate是一个类,你必须发布代码。 -
我们这里缺少 ORM 吗?
-
添加了类,它是 SilverStripe 的 ORM
-
get()、sort()和limit()在哪里?
标签: php mysql database silverstripe