Codeigniter Active Record - 以特定ID开始查询?

时间:2014-06-04 15:00:38

标签: php mysql codeigniter activerecord

我正在尝试设置一个Cron作业,它将按顺序选择一个精选视频。

因此,例如,视频ID 1是当前的精选视频。在几周后,它将是ID 2.我想在之后加载视频3-18。

这可以使用Active Record或MySQL Statement吗?

这是一个很难解释的问题,所以如果您需要更多信息,请发表评论,我会回复您。

非常感谢。

1 个答案:

答案 0 :(得分:2)

我同意@Daan的评论。

在数据库中添加一个新列(current_featured_id),它可以是TINYINT,默认值为0.如果有视频,则current_featured_id中的行将为1列。

就实际的cron作业而言,在crontab中添加一个命令,每周运行一次函数* 0 * * 0 featured_vid(每周日午夜运行)

function featured_vid() {
     //get the current featured id
     $featured_id = $this->db->select('video_id')
               ->from('table_name')
               ->where('current_featured_id',1)
               ->get()->row()->video_id;

     $new_featured_id = $featured_id+1;

     $update_featured = array(
         array(
              'video_id' => $featured_id,
              'current_featured_id' => 0
         ),
         array(
              'video_id' => $new_featured_id,
              'current_featured_id' => 1
         ),
     );

     //update your db
     $this->db->update_batch('table_name', $update_featured, 'video_id');
}