【发布时间】:2012-03-22 11:13:38
【问题描述】:
我有一个 MySQL DB 字段,其中填充了一些数据。我的脚本中有一个选项可以清除该字段,这样我就可以向其中添加新数据,而无需附加到旧数据中。
但是我正在使用一个看起来像这样的 foreach 循环:
foreach ($model->filenames as $key => $model->filename) {
$model->get_title($model->filename);
$model->get_showTitle($model->titles);
$model->get_number($model->titles);
$model->get_host($model->urls[$key]);
$model->source_title($model->titles);
$model->get_season();
if ($model->show_exist_batch()) {
$model->show_clean(); //the method in question
$model->show_update();
} else {
$model->show_add();
$model->twitter();
}
问题是我希望 show_clean() 只运行一次。 这就是 show_clean() 的样子:
public function show_clean() {
if ($this->options->clean) {
$query = "UPDATE jos_k2_items SET extra_fields = '', extra_fields_search = '' WHERE id = " . $this->item->id . "";
$this->db->prepare($query);
$this->db->query();
}
}
$this->option->clean 由构造函数中的 post 变量设置。
有什么聪明的方法可以做到这一点,还是我需要长期这样做?
【问题讨论】:
-
你现在的做法有问题吗?
-
取决于您对“漫长的道路”的看法。只需在调用函数后检查并设置一个 bool 变量即可。
-
嗯,我实际上正在将一个旧脚本重写为面向对象,并且我做了一些时髦的编码来让它工作。那是“漫长的道路”
标签: php mysql function methods foreach